Как запустить диалог прогресса, когда нажата кнопка «Домой» по умолчанию для Android? Если это возможно, то как?Запустить индикатор выполнения на домашней кнопке нажмите
Я пробовал использовать метод onKeyDown, но он не работает.
Как запустить диалог прогресса, когда нажата кнопка «Домой» по умолчанию для Android? Если это возможно, то как?Запустить индикатор выполнения на домашней кнопке нажмите
Я пробовал использовать метод onKeyDown, но он не работает.
Не совсем, нет. Вы не можете переопределить кнопки домой, как вы бы спина или search.Take взгляд на эту дискуссию:
Overriding the Home button - how do I get rid of the choice?
Дубликаты этого: Android - capture/suppress Home and EndCall buttons events?
Короткий ответ: вы не можете справиться с кнопкой Home, но вы можете написать замену приложения «Домашний экран».
Поскольку кнопка «Главная» является такой важной особенностью для Android (она позволяет пользователю быстро нажать кнопку «один раз», чтобы вернуться на главный экран), что они сделали это, поэтому мы не можем запускать собственный код для измените, что он делает. Однако мы несколько контролируем, что происходит, когда пользователь нажимает кнопки меню, назад или поиска.
Всегда лучше соответствовать стандартам дизайна пользовательского интерфейса Android, this article on application design - это отличное представление о том, как именно мы должны идти о вещах.
Преобладающая мудрость говорит, что это невозможно.
Checkout этот разговор:
Может быть, следующий код будет работать так, как вы хотите. Но я не думаю, что вы можете полностью заманить в дом.
Переопределить ниже метод в вашей деятельности.
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
После этого вы можете прослушать домашний ключ в своей деятельности.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{}
});
Надеюсь, это может быть полезно для вас.