Захват родной кнопки нажимает на телефоне Android в JavaScript
-
25-09-2019 - |
Вопрос
Есть ли способ, которым мы можем захватить кнопку 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/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, чтобы выйти / вернуться изящно.