Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

Возможно ли?

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

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

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

Почему приложение может пропасть из "Похожие" топового приложения? - Программирование Android
Ранее оно было на 2-ом месте, а теперь пропало вообще(то есть даже не отошло на 10-ое а именно нету)? Может ли такое быть, если куча...

Осуществить парсинг JSON с помощью готового макета "VKApiMessage" - Программирование Android
Я никак не могу осуществить парсинг JSON с помощью готового макета "VKApiMessage". Пример JSON: https://vk.com/dev/messages.getDialogs...

Notification вывод строки с символами перехода на новую строку "\n" - Программирование Android
Здравствуйте, пишу приложение для android 4. В нем service выводит notification в котором текст - это String c несколькими символами...

Как заставить Eclipse "забыть" об ошибках в xml файлах? - Программирование Android
Проблема в следующем: открываю большой проект написанный не мной - все работает нормально, то есть запускается без ошибок. в процессе...

EditText и добавление символов в него через собственную "клавиатуру" - Программирование Android
Ребятушки привет! я начинающий андроид девелопер....и столкнулся с такой трудностью.. Пишу калькулятор, у меня есть EditText и 10...

Unexpected namespace prefix "map" found for tag fragment - Программирование Android
Но почему там, где map, у меня ошибки??? <fragment xmlns:android="http://schemas.android.com/apk/res/android" ...

"Error while reading RSS" при попытке загрузить новости - Программирование Android
Здравствуйте! При попытке загрузить новости приложение выдает ошибку error while reading RSS. Что это значит? Где исправить в коде?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.07.2013, 01:27  [ТС]     Програмный выбор основного "ланчера" #2
Неужели никто не знает???

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

Поставил себе "GO Luncher Ex".
"Home" предлагает ВЫБРАТЬ ланчер из списка и поставить галочку "по умолчанию"
Поставил галочку на старый ланчер - больше не предлагает выбор
ВРУЧНУЮ запустил "GO Luncher Ex" из списка программ и "по умолчанию" ОБНУЛИЛОСЬ - снова требует выбрать ланчер.
Тоже ТАК хочу! КАК програмно ОБНУЛИТЬ ланчер по умолчанию? Или как ВРУЧНУЮ задать ланчер по умолчанию?
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
08.07.2013, 12:06     Програмный выбор основного "ланчера" #3
вам нужно переопределить HOME и BACK кнопки.
как это сделать можете посмотреть к примеру здесь, здесь и здесь
все выше приведенные способы проверены мной лично. а ВОТ еще один интересный вариант с исходниками. сам не проверял, на ваш страх и риск, как говорится
Tester64
395 / 356 / 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". Запустить не получилось - возможно нужно переустановить среду или долго играться с настройками (студия и еклипс сказали что это "не правильный" проект). Не подскажите, кто-нибудь пробовал запускать этот пример? Там ланчер или просто пример скринсейвера?
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
11.07.2013, 11:23     Програмный выбор основного "ланчера" #5
Цитата Сообщение от Tester64 Посмотреть сообщение
Решение оригинальное, хотя и не то, что мне нужно...
это какраз то что нужно. я делал такой же пример как вам нужен. (программа стартовала при включении устройства и нельзя было запустить стандартный ланчер кнопками "бэк" или "хоум". вообщем.. все куак вам нужно) если найду исходники - скину.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
11.07.2013, 16:25     Програмный выбор основного "ланчера" #6
Цитата Сообщение от Tester64 Посмотреть сообщение
в каждом перехватывать хоме+блокировать/подменять (если я правильно понял
Не надо везде.
Создайте класс наследующий Activity (или Fragment или etc.. в зависимости от того что используете) и остальные свои класс наследуйте от него.

Либо, вероятней всего, это настривается в манифесте для всего приложения,
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
11.07.2013, 20:06  [ТС]     Програмный выбор основного "ланчера" #7
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
это какраз то что нужно. я делал такой же пример как вам нужен. (программа стартовала при включении устройства и нельзя было запустить стандартный ланчер кнопками "бэк" или "хоум". вообщем.. все куак вам нужно) если найду исходники - скину.
Спасибо! Очень жду исходники!
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) а в самом классе можете посмотреть переопределение этих кнопок.
Вложения
Тип файла: zip keylockTest.zip (1.19 Мб, 7 просмотров)
Tester64
395 / 356 / 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
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
15.07.2013, 10:19     Програмный выбор основного "ланчера" #10
странно... у меня все работает. плангшет киндл фаер, андроид 4.1.2. может у вас уже слишком много ланчеров?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2013, 12:53     Програмный выбор основного "ланчера"
Еще ссылки по теме:

UnknownHostException: Unable to resolve host "api.openweathermap.org" - Программирование Android
Приветствую всех, недавно стал изучать андройд и столкнулся с маленькой проблемкой... Есть простое приложение для вывода погоды. ...

Услуга - "поругайте мой код" есть тут такая?) - Программирование Android
собственно сабж :) Если кому нибудь из гуру не лень посмотреть и указать на явные ошибки в коде - буду признателен

Отключить перескакивание между edittext после нажатия "готово" - Программирование Android
После нажатия на кнопку готово происходит заполнение второго edittext, третьего и.т.д. А нужно чтобы пользователь сам нажимал на нужные для...

Как поместить surfaceview или glsurfaceview на "пол" экрана - Программирование Android
Вопрос в общем то в заголовке, возможно ли это? Чтобы вьюшка с surfaceview или glsurfaceview была на пол экрана?

"Attempt to re-open an already-closed object" при работе с SQLite - Программирование Android
Добрый день. Разрабатываю приложение и столкнулся с проблемой... Лог выдаёт вот такое: FATAL EXCEPTION: main ...


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

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.07.2013, 12:53  [ТС]     Програмный выбор основного "ланчера" #11
Цитата Сообщение от GiGaBiTe911 Посмотреть сообщение
может у вас уже слишком много ланчеров?
Смешно! 3 - не много! Бывало и 8-10 когда пытался понять возможности программ на андроид - ставил все что находил. Думаете, если снесу свою программу (3й ланчер) будет лучше? ...попробую, но врядли.
Yandex
Объявления
15.07.2013, 12:53     Програмный выбор основного "ланчера"
Ответ Создать тему
Опции темы

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