Я разрабатываю приложение Phonegap 2.7.0 + Android.
Проблема заключается в том, что когда я нахожусь на странице index.html своего приложения и нажимаю кнопку «Назад» на устройстве, он запускает заставку и перезапускает приложение.
Кнопка «Назад» запускает заставку
comment
На самом деле я новичок в Phonegap и не знаю, как кодировать в Android. Я ищу любое решение со стороны телефонной связи.
- person amorbytes   schedule 27.06.2013
Ответы (4)
Со стороны Phonegap вы можете прикрепить функцию-обработчик к кнопке возврата, что-то вроде этого:
function exitApp() {
console.log("Exiting app");
navigator.app.exitApp();
}
function onPressBack(e) {
e.preventDefault();
navigator.notification.confirm("Are you sure you want to quit?", function(result){
if(result == 2){
exitApp();
}
}, 'Quit My App', 'Cancel,Ok');
}
function deviceready() {
$(document).bind('backbutton', onPressBack);
}
$(document).bind('deviceready', deviceready);
Если вы используете jQuery Mobile для пейджинга, вы можете отслеживать, отображается ли первая страница и, следовательно, показывать ли диалоговое окно выхода - см. мой ответ на этот вопрос
person
DaveAlden
schedule
27.06.2013
Большое спасибо за ваш ответ.
- person amorbytes; 27.06.2013
Я использовал ваш код для выхода из приложения. это работает нормально. Я использовал его в home.html, но он предотвращает поведение кнопки «Назад» по умолчанию на всех страницах моего приложения. Это проблема для меня сейчас.
- person amorbytes; 28.06.2013
Вы можете добавить монитор или счетчик, чтобы определить, отображается ли первая/главная страница приложения и, следовательно, следует ли при нажатии кнопки «Назад» выйти или просто вернуться назад. Это поведение аналогично моему примеру кнопки возврата jQuery для мобильных устройств а>
- person DaveAlden; 28.06.2013
в моем примере я помещаю код кнопки «Назад» в home.html, но это предотвратит поведение кнопки «Назад» по умолчанию во всем приложении в Android.
- person amorbytes; 29.06.2013
Итак, вы говорите, что у вас есть несколько файлов HTML (например, home.html, Anotherpage.html, Differentpage.html), и вы хотите, чтобы кнопка «Назад» закрывалась только в том случае, если текущая страница — home.html? В противном случае, если текущая страница является другой страницей, просто вернуться?
- person DaveAlden; 29.06.2013
Вы должны вызвать finish()
или this.finish()
после вызова метода startActivity(intent)
.
Что-то вроде этого:
Intent intent = new Intent(currentActivity.this, activityToBeCalled.class) ;
startActivity(intent) ;
finish() ;
person
R4chi7
schedule
27.06.2013
Используйте finish()
в заставке
person
Krrishnaaaa
schedule
27.06.2013
@Override
protected void onPause()
{
// TODO Auto-generated method stub
super.onPause();
finish();
}
добавьте это событие в свой класс активности всплеска.
Изменить: вы можете добавить события активности, щелкнув правой кнопкой мыши и следуя «Источник-> Методы перезаписи / реализации ...».
http://developer.android.com/images/activity_lifecycle.png
а затем вы должны добавить это событие в свою активность веб-просмотра
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
// do not finish app use webview controls to go preview webpage.
}
person
Mehmet Emre
schedule
27.06.2013