переопределение клавиши Home Долго нажимает в категории. ДОМАШНЕЕ действие

Я просто создал свой собственный "Дом" для замены андроида запаса один или Смысл.

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

Я успешно заменяю длинное нажатие на Кнопке меню с этим кодом:

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

//Log.i(TAG,"Keycode: "+keyCode);

if (keyCode == KeyEvent.KEYCODE_MENU) {
    // this tells the framework to start tracking for
    // a long press and eventual key up. it will only
    // do so if this is the first down (not a repeat).

    event.startTracking();
    return true;
}
(...)

и эта часть части для длинного нажатия:

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

        //Log.i(TAG,"LONG"+keyCode);
        Toast.makeText(Launcher.this,"LONG "+keyCode, Toast.LENGTH_SHORT).show();

        if (keyCode == KeyEvent.KEYCODE_MENU) {
        (...)

Но проблема состоит в том, что я не смог заменить KeyEvent. KEYCODE_MENU с KeyEvent. KEYCODE_HOME

это, что-то привязало код, которые избегают пользователя для использования Домашнего длинного нажатия?

Благодарите много за всю информацию Вы, woulg дают мне.

9
задан Gerald Schneider 10 July 2014 в 02:24
поделиться

1 ответ

Все, что я когда-либо читал, заявляет, что это невозможно ... Вот сообщение на Android Beginners, где я задал очень похожий вопрос:

http: // groups. google.com/group/android-beginners/browse_thread/thread/d8cdcd1c52d79ef1/0f4b184da6f248a9?lnk=gst&q=home+key#0f4b184da6f248a9

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

ИЗМЕНИТЬ Хотя отменить длительное нажатие кнопки «Домой» невозможно, я нашел способ успешно реализовать двойное нажатие кнопки «Домой». Общая идея для этого заключается в следующем:

  1. Сделайте ваше приложение заменяющим домашнее приложение (посмотрите на образец домашнего приложения в примерах SDK)
  2. Разрешите в вашем приложении указать домашнее приложение для использования ( Довольно просто представить пользователю список приложений, заменяющих дом)
  3. При первом нажатии кнопки «Домой» запускается таймер.
  4. Если таймер истекает, запустите домашнее приложение.
  5. Если пользователь нажимает клавишу «Домой» во второй раз, прежде чем таймер остановится, запустите ваше приложение.

По сути, операция замены дома не делает ничего, кроме запуска реальное домашнее приложение, указанное пользователем или запускающее ваше приложение ... Оно никогда не отображает собственный пользовательский интерфейс.

Я обнаружил, что это работает довольно хорошо, и на самом деле у меня есть приложение, опубликованное в Android Market, которое делает это. Если вы хотите увидеть его в действии, он называется «Быстрый запуск», а имя издателя указано как «MagouyaWare»

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

8
ответ дан 3 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: