Начните индикатор выполнения при нажатии кнопки Home - PullRequest
0 голосов
/ 06 января 2012

Как запустить диалоговое окно прогресса, когда нажата стандартная кнопка «Домой» на Android?Если это возможно, то как?

Я пытался использовать метод onKeyDown, но он не работает.

Ответы [ 4 ]

0 голосов
/ 06 января 2012

Преобладающая мудрость гласит, что это невозможно сделать.

Оформить разговор:

Нажатие клавиши Home Home Event Listener

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

Переопределите метод ниже в своей активности.

    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
    }

Затем, после того, как вы сможете прослушать ключ home в своей активности.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {}
    });

Надеюсь, это поможет вам.

0 голосов
/ 06 января 2012

Дублирует это: Android - захват / подавление событий кнопок Home и EndCall?

Краткий ответ: вы не можете обрабатывать кнопку «Домой», но вы можете написать замену приложения «Главный экран».

0 голосов
/ 06 января 2012

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

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

0 голосов
/ 06 января 2012

Не совсем, нет.Вы не можете переопределить кнопку «Домой» так же, как «назад» или «поиск». Взгляните на это обсуждение:

Переопределение кнопки «Домой» - как мне избавиться от выбора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...