С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

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

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

Возможно ли?

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

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

Желательно кусочек кода...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 09:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Програмный выбор основного "ланчера" (Программирование Android):

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

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

Ошибка "Unknown method "e" of "org.apache.commons.logging.Log" - Программирование Android
Unknown method 'e' of 'org.apache.commons.logging.Log' package com.mycompany.myapp; import android.widget.*; import...

Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов - Программирование Android
Я учусь в универе и вот пытаюсь делать лабораторные по языку java, только на свой телефон с помощью android studio )) До этого все...

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

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

10
Tester64
396 / 357 / 43
Регистрация: 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 / 43
Регистрация: 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 / 3
Регистрация: 26.05.2013
Сообщений: 160
11.07.2013, 16:25 #6
Цитата Сообщение от Tester64 Посмотреть сообщение
в каждом перехватывать хоме+блокировать/подменять (если я правильно понял
Не надо везде.
Создайте класс наследующий Activity (или Fragment или etc.. в зависимости от того что используете) и остальные свои класс наследуйте от него.

Либо, вероятней всего, это настривается в манифесте для всего приложения,
0
Tester64
396 / 357 / 43
Регистрация: 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 / 43
Регистрация: 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 / 43
Регистрация: 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
Привет! Вот еще темы с ответами:

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

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

блокирование кнопок "Home" "Back" - Программирование Android
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо образом отключить возможность нажатия пользования кнопок...

Ошибка "Gradle"MyApplication" projectrefresh failed - Программирование Android
Всем доброго вечера. Только начинаю писать под андроид, и на одном из первых этапов возникла такая ошибка. Создал проект (эмулятор не...


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

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

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