Переопределение домашней кнопки для приложения для замены дома автомобиля

StackOverflow https://stackoverflow.com/questions/2862629

Вопрос

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

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

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

Это было полезно?

Решение

Ну, через много месяцев я наконец нашел ответ на этот вопрос. Ключ является элементом метаданных «Android.Dock_home», найденный здесь:

http://developer.android.com/reference/android/content/intent.html#metadata_dock_home.

Используя это в вашем androidmanifest.xml, вы можете временно сделать приложение Dock Dock The Home. Для этого добавьте эту строку на AndroidManifest.xml внутри тегов активности для активности приложения Dock:

<meta-data android:name="android.dock_home" android:value="true" />

Если значение установлено значение TRUE, до тех пор, пока ваш телефон подключен к кнопке домой, вернет вас в приложение Doct. После отказа, кнопка «Домашняя» вернет вас в свое обычное домашнее приложение.

Другие советы

К сожалению, в публичных API нет возможности переопределить кнопку «Домой» без пользователей, подтверждающего его.

Ваша лучшая ставка будет реализовать CATEGORY_HOME Намерение. Это означает, что когда пользователь нажал домой, им будет представлен возможность запустить стандартный дом или ваш и сделать свой по умолчанию, если они хотели.

Когда ваше приложение было запущено, вы можете попробовать, был ли телефон состыкован. Если телефон не закреплен, вы можете открыть стандартный домашний экран и закрыть свое приложение, прежде чем что-либо отобразится.

Вам нужно правильный намеренный фильтр в вашем манифесте для приложения для автоматического запуска при домении телефона. Ссылаться на http://developer.android.com/Reference/android/content/intent.html#category_car_dock. для информации.

Я нашел способ решать домашний ключ. Для вашего приложения установите манифест как

<action android:name="android.intent.action.MAIN" />                              
<category android:name="android.intent.category.HOME" />                                
<category android:name="android.intent.category.DEFAULT" />                            
<category android:name="android.intent.category.MONKEY"/> 

Теперь ваше приложение является альтернативным приложением для установки.

Используйте ADB и отключите приложение Launcher, используя менеджер пакетов

PM Отключите com.android.launcher2.

Теперь домашний ключ пресса будет оставаться на одном экране.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top