Intereting Posts
MockitoAnnotations.initMocks сбой при mock () преуспевает Ошибка Proguard при экспорте подписанного приложения с использованием пакета совместимости сотовых пакетов android.support.v4.app Пользовательский шрифт в Android отличается по-разному в разных API Android: текстовая гиперссылка Возврат к магазину приложений amazon для оценок Каков правильный способ создания экрана входа / активности в Android? Как программировать прокрутку Android WebView Которые являются стандартным шрифтом, поставляется со всеми версиями Android 2.1 и выше Импортируйте Android-зал в Android Studio Запуск Skype из программы Programmatically & Pass Number – Android Как правильно вставить значения в базу данных SQLite с помощью метода insert () ContentProvider с помощью CursorLoader? Ошибка Eclipse DDMS «Невозможно связать с локальным 8600 для отладчика» Можно ли использовать переднюю и заднюю камеры одновременно в Android Добавить макет в качестве вида на Android Как настроить цвет текста андроида?

Захват обратного нажатия клавиши на PhoneGap для Android

Я использую PhoneGap для разработки Android-приложений, и я застрял в захвате нажатия клавиши на устройстве! Я пробовал все, начиная с других потоков и с официальной вики-страницы, но никто не работает! 🙁

Я мог захватить меню и клавиши поиска с помощью keyEvent.menuTrigger и keyEvent.searchTrigger, но, похоже, не может запечатлеть кнопку на задней панели! Я тоже попробовал keyEvent.backTrigger, но это не сработало! Добавление прослушивателя событий для события «backKeyDown» также не работает!

Вот мой код:

BackButton.override(); document.addEventListener('backKeyDown', function(e) { console.log('Caught it!'); }, false); keyEvent.searchTrigger= searchPressed; keyEvent.menuTrigger=menuPressed; keyEvent.backTrigger=backPressed; 

Консоль говорит:

 Line 1 : Uncaught TypeError: Cannot call method 'backTrigger' of undefined 

Разве это не означает что-то вызывает вызов.backTrigger (), но объект чего-то не существует. Что это такое? Или есть какой-то способ?

Пробовал то же самое с KeyEvent тоже, не повезло! Пожалуйста помоги!

Заранее спасибо! 🙂

Solutions Collecting From Web of "Захват обратного нажатия клавиши на PhoneGap для Android"

Страница PhoneGap Wiki о обработчике кнопок Android обновлена ​​для PhoneGap 0.9.5:

 // This is your app's init method. Here's an example of how to use it function init() { document.addEventListener("deviceready", onDR, false); } function onDR(){ document.addEventListener("backbutton", backKeyDown, true); //boot your app... } function backKeyDown() { // do something here if you wish // alert('go back!'); } 

Работает для меня с PhoneGap 0.9.6

Вы также можете управлять другими кнопками с событиями меню и событиями поиска .

Если вы используете уровень api выше 2.0, тогда вы можете переопределить следующую функцию

 @Override public void onBackPressed() { // do something on back. return; } 

Для отслеживания нажатой кнопки.

Если нет, то вы можете переопределить событие onKeyDown активности и кнопку отслеживания

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // do something on back. return true; } return super.onKeyDown(keyCode, event); } 

Вот как я это делаю в PhoneGap w / xuijs:

 // inside your 'deviceready' handler if (device.platform == 'Android') { BackButton.override(); // add backkeyDown handler x$(document).on('backKeyDown', onBackKeyDown); } // back button handler function onBackKeyDown() { // do something // or // BackButton.exitApp(); }