Android переопределяющий домашний ключ - PullRequest
1 голос
/ 18 февраля 2011

Как показывает вопрос, я знаю, что мы не можем переопределить событие Home key, но если вы посмотрите на эмулятор android 2.2 , вы увидите приложение Car Home , которое было переопределено большинство клавиш, таких как Дом, окончание вызова.

Теперь, суть в том, как они это сделали? Я пытался заглянуть в исходный код приложения, но, к моему удивлению, он недоступен, или я не могу его найти, но я не думаю, что позже это так.

Ответы [ 3 ]

9 голосов
/ 18 февраля 2011

Я согласен с @Romain Guy

Вы не можете изменить поведение кнопки «Домой».

Что делает приложение Car Home: оно определило себя как средство запуска.Вы также можете определить свой как средство запуска, и оно будет уведомлено, когда начнется запуск главного экрана.

Проверьте это: Intent.html # CATEGORY_LAUNCHER

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

Это насколько я знаю.Я думаю @Romain Guy может исправить меня, если я ошибаюсь в любом месте.

4 голосов
/ 18 февраля 2011

Он не переопределяет ключ Home, приложение Car Home просто работает как средство запуска, что может сделать любое приложение. Это поведение объявляется в файле манифеста.

1 голос
/ 06 октября 2012

Похоже, что это делает на 4.0:

В AndroidManifest.xml

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.HOME"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...