0
我的應用程序使用不同的活動來完成我想要的操作。我正在尋找的行爲是應用程序的完全關閉,當按下後退鍵時,任務中的每個活動都將關閉。返回鍵關閉在任務中註冊的所有活動
這可能嗎?如果是,我該怎麼辦?
在此先感謝您花費時間來幫助我。
我的應用程序使用不同的活動來完成我想要的操作。我正在尋找的行爲是應用程序的完全關閉,當按下後退鍵時,任務中的每個活動都將關閉。返回鍵關閉在任務中註冊的所有活動
這可能嗎?如果是,我該怎麼辦?
在此先感謝您花費時間來幫助我。
如果你想在每個活動中都有這種行爲,那麼當每個活動開始另一個活動時(通過調用startActivity()
),然後請撥打finish()
。這將從後面的堆棧中移除它。這樣,您的應用程序隨時只有一項活動,當用戶按下後退鍵時,它將完成並且您的應用程序將退出。
這段代碼可以幫助你:
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK){
new AlertDialog.Builder(yourcurrentactivityname.this).setTitle(
"Attention").setMessage(
"Want to exit ?")
.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
android.os.Process.killProcess(android.os.Process.myPid())
}
}).setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
}
}).show();
return true;
}else{
return false;
}
//return super.onKeyDown(keyCode, event);
}
這隻會完成當前活動。 –
@Ted Hopp我編輯了我的問題。希望它能起作用。 –
這會起作用,但它似乎是一種暴力的方式來處理事情。我至少會堅持在當前活動中調用onPause()來殺死進程。 –