Захват родной кнопки нажимает на телефоне Android в JavaScript

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

Вопрос

Есть ли способ, которым мы можем захватить кнопку KECK HOME и BAGE в HTML-файле в приложении Android, используя PhoneGap / JQTouch / JavaScript?

У меня есть приложение для Android, используя Phonegap. Я хочу захватить щелчок родной домой и кнопку «Назад» телефона Android на странице HTML, чтобы выйти / вернуться изящно.

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

Решение

Вы можете ловить событие кнопки «Назад» в PhoneGAP, однако не домашняя кнопка (это плохая практика Android, так как есть четкое ожидание пользователя, независимо от приложения, которое вы используете о том, что делает домашний ключ: отправляет вас обратно в свой дом Экран! Вы не хотите переопределять эту функциональность).

Я буду направлять вас на куски кода в Phonegap (новейший источник! Потяните из GitHub на последнюю версию PhoneGap Framework) для руководства.

Во-первых, есть объект Java «BrowserKey», связанный с JavaScript «BackButton» Global:

http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/droidgap.java#l291.

Определение этого класса здесь: http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/browserkey.java

Во-первых, что вам нужно сделать в своем приложении (я предлагаю вам запустить это во время инициализации приложения) - дать впустить родную сторону каркаса, знал, что вы переопределяете функциональность кнопки назад. Вы сделаете это в JavaScript с помощью простого вызова:

BackButton.override();

Оттуда ON OUT вы можете прикрепить обработчик событий к мероприятию «Backkydown Document» для выполнения логики каждый раз, когда находятся кнопка «Назад». Что-то вроде этого должно работать:

document.addEventListener('backKeyDown', function(e) {
  alert('you hit the back key!');
}, false);

В качестве добавления, вот код JavaScript, который обертывает диспетчерирование событий Back Button: http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js.

В основном, после вызова backbutton.override (), родная сторона фреймворца позвонит окно. Кейкевеент. BackTrigger () каждый раз, когда кнопка «Назад».

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

Этот код образца работает для Phonegap 0.9.5, а затем (проверено на 0,9,6):

    document.addEventListener("menubutton", function () { 
        alert('Menu button');
    }, false);  

    document.addEventListener("searchbutton", function () { 
        alert('Search button');
    }, false);                      

    document.addEventListener("backbutton", function () { 
        alert('Back button');
    }, false);  

Главная кнопка не может быть обработана. Это зарезервировано системой.

У меня есть приложение для Android, используя Phonegap. Я хочу захватить щелчок родной домой и кнопку «Назад» телефона Android на странице HTML, чтобы выйти / вернуться изящно.

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