Intereting Posts
Используйте слайд-бокс (как в ионном каркасе) в Android Native App с ViewPager Получить контекст внутри onClick (DialogInterface v, int buttonId)? Невозможно воспроизвести видео RTSP в VideoView в Samsung Galaxy S2 Android TSP Hovering Активность Переходы не работают Изменение цвета Horizonal Progress в Android Bundle.putExtra проблема с Android Как отобразить экран Google Glass на моем ПК Как я могу использовать SensorManager.getOrientation для управления наклоном, например «My Paper Plane»? Ограничения видеозахвата в телефонном разрыве + плагины для родных Анимационный список не работает – отображается только первый элемент Еще раз получив java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.i после обновления в Инструменты поддержки 23 Невидимое обнаружение просмотров в событии движения ParseFacebookUtils Android auth_type: 'reauthenticate' С 0.4.3 Android Studio, ошибка: «Синхронизация проекта Gradle не удалась. Основные функции (например, редактирование, отладка) не будут работать должным образом "

Backgutton в phonegap не регистрируется и не работает должным образом

Я использую phonegapand, я регистрирую функцию onDeviceReady но получаю функцию, onDeviceReady при нажатии на кнопку возврата устройства. И я добавил

 <script src="lib/cordova-2.6.0.js"></script> document.addEventListener("backbutton", onBackClickEvent, false); function onBackClickEvent() { alert("back onBackClickEvent"); } 

Эта onBackClickEvent() не вызвана, я никогда не видел, чтобы это предупреждение появилось. Я также получаю сообщение об ошибке Uncaught ReferenceError: cordova не определен

Что может быть ошибкой Пожалуйста, предложите мне. Заранее спасибо.

Solutions Collecting From Web of "Backgutton в phonegap не регистрируется и не работает должным образом"

Не забудьте назвать событие « deviceready ».

Из телефонной книги doc:

Это очень важное событие, которое должно использовать каждое приложение Кордовы.

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

Событие Cordova deviceready срабатывает, как только Кордова полностью загружена. После того, как устройство уволилось, вы можете спокойно звонить на функцию Кордовы.

Попробуй это

 document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { document.addEventListener("backbutton", onBackClickEvent, false); } function onBackClickEvent() { alert("back onBackClickEvent"); } 

Я получил ответ на свой вопрос. Я боролся, и многие разработчики пытаются его решить, и когда я нашел глупую ошибку, я оказался таким глупым.

Я писал

 document.addEventListener("deviceready", onDeviceReady(), false); 

вместо

 document.addEventListener("deviceready", onDeviceReady, false); 

Вот почему я получаю ошибку, кордова не определена, и никакие другие слушатели не регистрируются.

Я столкнулся с этой ошибкой после обновления до кордоны 3.1. Оказывается, это должно быть явно добавлено в config.xml phonegap 3. * и далее.

 <feature name="App"> <param name="android-package" value="org.apache.cordova.App" /> </feature> 

См. Эту ссылку

Для кнопки «Назад» я использую эту

 //Android back button handler methods $(document).ready(function() { document.addEventListener("deviceready", setOverrideBackbutton, false); }); /** * Allow override of the back button on Android platforms */ function setOverrideBackbutton() { if (typeof device != "undefined" && device.platform == "Android") { navigator.app.overrideBackbutton(true); } document.addEventListener("backbutton", backButtonTap, true); } /** * Callback after a backbutton tap on Android and windows platforms. * Do nothing. */ function backButtonTap() { //Do not remove } 

PLS проверьте правильность пути и имени файла на ваш cordova.js. Убедитесь, что вы проверили истинный файл cordova.jar и личные личные блоки Android в свойстве проекта-> Java Build Path-> Order & Export.

Для получения дополнительной информации проверьте эту ссылку

И если вы импортируете несколько файлов, поместите файл cordova.js перед файлом other.js, и он должен работать.

И просто используйте

 <script src="cordova-2.6.0.js"></script> 

вместо

А также проверьте эту ссылку1 и ссылку2