2014-12-11 3 views
0

Я хочу знать, нажимает ли пользователь кнопку «Домой» (например, слушать кнопку «Домой»). Потому что я увидел, что теперь есть способ сделать это, я жестко отношусь к идее.Пусковая установка, открывающая другую пусковую установку

Может быть, если я буду создавать пусковой я буду в состоянии справиться с кнопкой Home ...

Но так как я не хочу, чтобы действительно создать пусковой, поэтому я хочу, чтобы создать пусковую установку, которая открывает предыдущий.

Как создать такую ​​пусковую установку? Или можно использовать BroadcaseReceiver для прослушивания кнопки «Домой»?

ответ

1

Кнопка HOME не может отслеживаться и не реагировать, и нет обходного пути.

Что касается ракеты-носителя:

Во-первых, вам нужно будет принести ResolveInfo для текущей пусковой установки и сохранить его имя пакета где-то, как SharedPreferences.

Позже пользователь должен будет принять вашу пусковую установку как пусковую установку по умолчанию. После этого вы должны сделать свое единственное задание метода launcher onCreate(), чтобы создать намерение, которое откроет ранее сохраненный пакет, а затем немедленно вызовет finish() на вашу пусковую установку.

Однако, я уверен, что вы столкнетесь с какой-то проблемой на этом пути, так как это Android. Во всяком случае, будь моим гостем, чтобы попытаться опубликовать результат здесь, концепция действительно интересна.

+0

Я пробовал это сейчас, его работа не работает (его внешний вид уродливый). Может быть, есть способ отслеживать кнопку «Домой» с укорененным устройством? Я хочу зафиксировать событие двойного щелчка кнопки «Домой». – nrofis

+0

Если я правильно помню, вы можете отслеживать его, но только с разрешениями подписи системы. И только производитель устройства может назначить такую ​​подпись для определенного типа устройства (без возможности эмуляции его для отладки). Кроме того, это одна из самых надежных частей ядра системы Android. – Kelevandos

+0

Я вижу ... Так что, может быть, мне нужно будет подумать о другом типе событий :( – nrofis

Смежные вопросы