![](/img/trans.png)
[英]android: application crash when i hit back button (activitygroup + TabWidget)
[英]Back Button in Android Cause application to crash when navigation history is null
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
if(web1.canGoBack() == true){
web1.goBack();
}else{
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
我在使用PhoneGap構建的android應用程序中使用以下功能。 該應用程序具有WebView。
當按下返回按鈕時,它將向后導航。 但是,當導航歷史記錄為null時,它將使應用程序崩潰。 錯誤日志是
java.lang.NullPointerException at org.apache.cordova.DroidGap.onKeyUp(DroidGap.java:1057)
我怎樣才能解決這個問題?。
檢查歷史記錄是否為空的條件,然后單擊后退按鈕,使用finish();。 。
覆蓋您的活動
@Override
public void onBackPressed() {
if(navigatinHistory == null){
Log.d("CDA", "onBackPressed Called");
finish();
}
}
問題在於onKeyUp的代碼暗示已在DroidGap中設置了appView成員。
由於尚未設置,因此在發生KeyUp事件時應用程序將崩潰。
兩種解決方法:
我建議您第二個,更好。
在Phonegap應用程序中,您應該監聽事件“ backbutton ”以處理導航,並在需要時退出應用程序。
document.addEventListener("backbutton", function() {
// ...
navigator.app.exitApp(); // call it to exit the app
}, false);
http://docs.phonegap.com/zh-CN/3.5.0/cordova_events_events.md.html#backbutton
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.