2010-06-18 204 views
0

我有開始了新的活動應用程序崩潰的後退按鈕/活動和意圖

Intent startAuthorization = new Intent(AndroidActivity, AuthorizeUser.class);  
startActivityForResult(startAuthorization,4711); 

當這種新的活動完成(一個OK按鈕被點擊)我叫

setResult(RESULT_OK, returnResult); 
finish(); 
一個Android應用程序

這工作正常。如果用戶沒有點擊好的按鈕,但使用手機的返回按鈕(這個箭頭指向左邊),應用程序就會關閉。我在我的方法onActivityResult的第一行設置了一個斷點,但調試器永遠不會停在那裏。我不知道問題出現在哪裏 - 我怎麼知道?有沒有我必須覆蓋來處理這個後退按鈕的方法?

+1

你能粘貼您的應用程序崩潰的時刻logcat的輸出? 應該有一個Java Exception向我們展示了關於爲什麼你的應用程序正在關閉的更多細節。 – Janusz 2010-06-18 09:43:41

+0

覆蓋後退按鈕的行爲的方法稱爲onBackPressed()。我的懷疑是你以前的活動被破壞了,當你壓回來時,你沒有在棧上的那個活動,但是一個導致崩潰的空指針。有些日誌會很有幫助。這是https://developer.android.com/reference/android/app/Activity.html#onBackPressed()中onBackPressed()的官方描述。 – 2017-06-07 09:31:02

回答

1

如果您沒有找到針對您的問題的更好解決方案,請嘗試此操作。 覆蓋onKeyDown事件,以防止您的應用回去當你按返回鍵

public boolean onKeyDown(int keyCode, KeyEvent msg){ 
    if((keyCode == KeyEvent.KEYCODE_BACK) || (keyCode == KeyEvent.KEYCODE_HOME) 
     || (keyCode == KeyEvent.KEYCODE_CALL)) 
     return false; 
    else 
     return true; 
} 
相關問題