我是新來的Android應用程序的開發。如何在Android中關閉總體應用程序?
我開發了一個android應用程序,在這個應用程序中,當用戶按下退出按鈕時,我稱之爲finish()方法。此方法僅關閉當前活動。
我的要求是,當我在退出按鈕點擊,就應該關閉所有活動,它顯示的菜單頁面。這可能嗎?
我是新來的Android應用程序的開發。如何在Android中關閉總體應用程序?
我開發了一個android應用程序,在這個應用程序中,當用戶按下退出按鈕時,我稱之爲finish()方法。此方法僅關閉當前活動。
我的要求是,當我在退出按鈕點擊,就應該關閉所有活動,它顯示的菜單頁面。這可能嗎?
該對象已接受了一些討論,here是一個應該包含大部分的您正在尋找的信息。
另請參閱Android Documentation on Activities中的活動生命週期和流程生命週期,以瞭解關閉應用的方式和原因。
當你從一個活動到乙活動,呼籲finish()
。所以在android stack
一個活動會得到finish() or get killed
。當您按下背面或頂部活動退出按鈕,然後棧變空,然後你就進入菜單屏幕或主屏幕。
例如:當你從一個活動將B活性執行下面的步驟:
startActivity(new Intent(A.this, B.class));
finish();
所以你一個活動得到完成,&新乙活動得到啓動。在這裏,當你按下返回按鈕或退出按鈕時,你將進入主屏幕或菜單屏幕。
這裏,我們有兩種方法到finish or kill
上後退按鈕按下應用。
使用finish()
這關閉或完成的Android屏幕上的當前活動。
例如:你有兩個活動,即一個 & 乙。你會使用意圖從啓程活動乙活動,現在前景胡亞蓉是乙,你想回去&殺乙活動&轉到一個胡亞蓉使用finish()
的onclick後退按鈕的。如果您對一個活動,則它將關閉應用程序。見下面的代碼。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
}
return super.onKeyDown(keyCode, event);
}
使用android.os.Process.killProcess(android.os.Process.myPid());
殺死應用程序即強行關閉應用程序&後藤下面的代碼家裏screen.see。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Kills & force closes the app
android.os.Process.killProcess(android.os.Process.myPid());
}
return super.onKeyDown(keyCode, event);
}
我的要求是當我點擊退出按鈕時,它應該關閉所有活動並顯示菜單頁面。
假設「菜單頁」是你的一個活動,叫startActivity()
,與Intent
識別你的「菜單頁面」,幷包括FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
爲標誌您Intent
。這將清除您的任務中的所有活動,並將現有的「菜單頁」帶到前臺(如果沒有,則創建「菜單頁」的實例)。
沒有生產代碼應該使用'killProcess()'。 – CommonsWare
@CommonsWare - 你的權利,不應該使用killProcess()。這不是一個好習慣。 –