Я разрабатываю Phonegap 2.7.0 + приложение для Android.
Проблема в том, что я нахожусь на странице index.html моего приложения, и я нажимаю кнопку кнопки устройства. Запускает экран заставки и повторное приложение.Кнопка «Назад» Запускает Splash Screen
ответ
Со стороны PhoneGap, вы можете прикрепить функцию обработчика к BackButton, что-то вроде этого:
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 для пейджинга , вы можете отслеживать, отображается ли первая страница, и поэтому следует ли отображать диалоговое окно выхода - см. my answer to this question
Большое спасибо за ваш ответ. – amorbytes
Я использовал ваш код для выхода из приложения. он отлично работает. Я использовал его в home.html, но он предотвратил поведение кнопки по умолчанию на всех страницах моего приложения. Это вопрос для меня сейчас. – amorbytes
Вы можете добавить монитор или счетчик, чтобы определить, отображается ли первая/основная страница приложения, какая из них отображается, и поэтому, если нажать кнопку «Назад», чтобы выйти или просто вернуться. Это похоже на мой пример [jQuery mobile back button] (http://stackoverflow.com/questions/17258550/back-button-handler-in-jquery-mobile-android-phonegap/17262220#17262220) – DaveAlden
Использование finish()
в экранной заставки активности
@Override
protected void onPause()
{
// TODO Auto-generated method stub
super.onPause();
finish();
}
добавить событие в свой класс всплеск активности.
Редактировать: вы можете добавлять события активности, щелкая правой кнопкой мыши и следуя «Источник-> Перезаписать/Реализовать методы ...».
http://developer.android.com/images/activity_lifecycle.png
, а затем вы должны добавить это событие в WebView activty
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
// do not finish app use webview controls to go preview webpage.
}
Вы должны позвонить finish()
или this.finish()
после вызова метода startActivity(intent)
.
Что-то вроде этого:
Intent intent = new Intent(currentActivity.this, activityToBeCalled.class) ;
startActivity(intent) ;
finish() ;
На самом деле я новичок в Phonegap и не знаю ho w для кодирования в android. Я ищу решение с телефонной стороны. – amorbytes