2013-06-27 4 views
0

Я разрабатываю Phonegap 2.7.0 + приложение для Android.
Проблема в том, что я нахожусь на странице index.html моего приложения, и я нажимаю кнопку кнопки устройства. Запускает экран заставки и повторное приложение.Кнопка «Назад» Запускает Splash Screen

+0

На самом деле я новичок в Phonegap и не знаю ho w для кодирования в android. Я ищу решение с телефонной стороны. – amorbytes

ответ

4

Со стороны 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

+0

Большое спасибо за ваш ответ. – amorbytes

+0

Я использовал ваш код для выхода из приложения. он отлично работает. Я использовал его в home.html, но он предотвратил поведение кнопки по умолчанию на всех страницах моего приложения. Это вопрос для меня сейчас. – amorbytes

+0

Вы можете добавить монитор или счетчик, чтобы определить, отображается ли первая/основная страница приложения, какая из них отображается, и поэтому, если нажать кнопку «Назад», чтобы выйти или просто вернуться. Это похоже на мой пример [jQuery mobile back button] (http://stackoverflow.com/questions/17258550/back-button-handler-in-jquery-mobile-android-phonegap/17262220#17262220) – DaveAlden

1

Использование finish() в экранной заставки активности

1
@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. 
} 
2

Вы должны позвонить finish() или this.finish() после вызова метода startActivity(intent).

Что-то вроде этого:

Intent intent = new Intent(currentActivity.this, activityToBeCalled.class) ; 
startActivity(intent) ; 
finish() ;