Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
1

Програмный выбор основного "ланчера"

06.07.2013, 09:55. Просмотров 1667. Ответов 10
Метки нет (Все метки)

Возможно ли?

Написал программу, которую хочу запускать по нажатию аппаратной кнопки "домой" (заменить стандартный ланчер). Обычно она (программа) ОДНА должна работать на устройстве.
Получается. При нажатии "домика" предлагает выбор между моей программой и стандартным ланчером (или список ланчеров) и галочка "использовать по умолчанию". Но... Если нажал галочку, то изменить уже ничего не могу.
Из моей программы не могу перейти ни в настройки, ни в список установленых программ. Теоретически можно "подделать" списки программ и открывать диалог выхода в настройки, и удалять мою программу - тогда ОС автоматически предлагает выбрать ДРУГОЙ ланчер.

Но хотелось бы принудительно отрывать диалог выбора ланчера по нажатии кнопки в моей программе.

Желательно кусочек кода...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 09:55
Ответы с готовыми решениями:

Выбор платформы разработки "1С Мобильная платформа" или "Android Studio"
Всем, здравствуйте! Есть задача по разработке клиента для терминала сбора...

Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"
Ребят, всем привет! накидайте какие-нить идеи по реализации ситуация такая...

Ошибка "Unknown method "e" of "org.apache.commons.logging.Log"
Unknown method 'e' of 'org.apache.commons.logging.Log' package...

Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов
Я учусь в универе и вот пытаюсь делать лабораторные по языку java, только на...

При эмулировании вместо надписи "Hello world" отображается "android"
Привет форумчане! Я только-только начинал программировать на андроиде. Поставил...

10
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
08.07.2013, 01:27  [ТС] 2
Неужели никто не знает???

Уже нашел как ПОЛУЧИТЬ текущий Ланчер и узнать является ли моя программа ланчером...
Но как обнулить или програмно задать ланчер???

Поставил себе "GO Luncher Ex".
"Home" предлагает ВЫБРАТЬ ланчер из списка и поставить галочку "по умолчанию"
Поставил галочку на старый ланчер - больше не предлагает выбор
ВРУЧНУЮ запустил "GO Luncher Ex" из списка программ и "по умолчанию" ОБНУЛИЛОСЬ - снова требует выбрать ланчер.
Тоже ТАК хочу! КАК програмно ОБНУЛИТЬ ланчер по умолчанию? Или как ВРУЧНУЮ задать ланчер по умолчанию?
0
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
08.07.2013, 12:06 3
вам нужно переопределить HOME и BACK кнопки.
как это сделать можете посмотреть к примеру здесь, здесь и здесь
все выше приведенные способы проверены мной лично. а ВОТ еще один интересный вариант с исходниками. сам не проверял, на ваш страх и риск, как говорится
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
11.07.2013, 04:25  [ТС] 4
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
вам нужно переопределить HOME и BACK кнопки.
Решение оригинальное, хотя и не то, что мне нужно... Мне нужно определять свою программу как ЛАНЧЕР. В программе КУЧА окошек(вьювов) и в каждом перехватывать хоме+блокировать/подменять (если я правильно понял)системную клавиаутуру не подойдет...
Я планирую запускать свою программу в режиме КАССЫ (кажется так называется) - все лишнее максимально отключено(пользователь получает "прошитое" устройство). И даже если теоретически можно взломать, то хотя-бы что-бы ломали не СЛУЧАЙНО. ВСЕ необходимые функции планирую переопределить (вплоть до ограниченой телефонной книжки). Программа будет в автозагрузке. Но введя пароль администратора в настройках можно вернуться к класическому ланчеру для тонкой настройки или сделать программу "загружаемой по необходимости". Или хотя-бы получить выбор какой ланчер запустить (сбить ланчер по умолчанию).

Пока что вышел на http://en.wikipedia.org/wiki/List_of_Android_Launchers и список ланчеров -опенсорсов. Думаю покопать их исходники.

p.s. Еще советовали заглянуть во встроенные примеры SDK "Home". Запустить не получилось - возможно нужно переустановить среду или долго играться с настройками (студия и еклипс сказали что это "не правильный" проект). Не подскажите, кто-нибудь пробовал запускать этот пример? Там ланчер или просто пример скринсейвера?
0
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
11.07.2013, 11:23 5
Цитата Сообщение от Tester64 Посмотреть сообщение
Решение оригинальное, хотя и не то, что мне нужно...
это какраз то что нужно. я делал такой же пример как вам нужен. (программа стартовала при включении устройства и нельзя было запустить стандартный ланчер кнопками "бэк" или "хоум". вообщем.. все куак вам нужно) если найду исходники - скину.
0
haribo
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
11.07.2013, 16:25 6
Цитата Сообщение от Tester64 Посмотреть сообщение
в каждом перехватывать хоме+блокировать/подменять (если я правильно понял
Не надо везде.
Создайте класс наследующий Activity (или Fragment или etc.. в зависимости от того что используете) и остальные свои класс наследуйте от него.

Либо, вероятней всего, это настривается в манифесте для всего приложения,
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
11.07.2013, 20:06  [ТС] 7
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
это какраз то что нужно. я делал такой же пример как вам нужен. (программа стартовала при включении устройства и нельзя было запустить стандартный ланчер кнопками "бэк" или "хоум". вообщем.. все куак вам нужно) если найду исходники - скину.
Спасибо! Очень жду исходники!
0
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
12.07.2013, 15:54 8
вообщем... первых исходников не нашел. но в аттаче выкладываю похожее, не совсем доделанное но вам должно помочь. проект создан в андроид студиии. если работаете в эклипсе - просто посмотрите манифест, особое внимание обратите на:
XML
1
2
3
<category android:name="android.intent.category.HOME" />                 
        <category android:name="android.intent.category.DEFAULT" />               
        <category android:name="android.intent.category.MONKEY"/>
так ваше активити устанавливается по умолчанию при включении девайса и в качестве домашнего (при нажатии на кнопку HOME и BACK) а в самом классе можете посмотреть переопределение этих кнопок.
0
Вложения
Тип файла: zip keylockTest.zip (1.19 Мб, 7 просмотров)
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
14.07.2013, 21:06  [ТС] 9
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
вообщем... первых исходников не нашел. но в аттаче выкладываю похожее, не совсем доделанное но вам должно помочь. проект создан в андроид студиии. если работаете в эклипсе - просто посмотрите манифест, особое внимание обратите на:
XML
1
2
3
<category android:name="android.intent.category.HOME" />                 
        <category android:name="android.intent.category.DEFAULT" />               
        <category android:name="android.intent.category.MONKEY"/>
так ваше активити устанавливается по умолчанию при включении девайса и в качестве домашнего (при нажатии на кнопку HOME и BACK) а в самом классе можете посмотреть переопределение этих кнопок.
НЕ работат! Рабтаю в студии. Успешно запустил. Просто добавило 3й ланчер в сисетму (обычный, моя программа, Ваша программа) и галочку на "сделать дефолтной". Кнопку HOME НЕ перехватывает. Когда разремарил "тост" на нажатие - тост не появляется. Когда разремарил переопредиление onAttachedToWindow начало зависать при старте!

Устройство - планшет 4.00
0
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
15.07.2013, 10:19 10
странно... у меня все работает. плангшет киндл фаер, андроид 4.1.2. может у вас уже слишком много ланчеров?
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
15.07.2013, 12:53  [ТС] 11
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
может у вас уже слишком много ланчеров?
Смешно! 3 - не много! Бывало и 8-10 когда пытался понять возможности программ на андроид - ставил все что находил. Думаете, если снесу свою программу (3й ланчер) будет лучше? ...попробую, но врядли.
0
15.07.2013, 12:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2013, 12:53

Как прикрутить "свой браузер" к странице - "фрагмент"
здравствуйте. все, уже голову сломал. не соображаю совсем. не получается...

Как "превратить" string "6.971245e-001" во float?
Число конечно пример

Что означают конструкции "finally" и "throw new"?
Я с Java уже давно, но с этим столкнулся в первый раз. Объясните, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru