[英]How destroy activity works?
我是android開發的新手,我不了解生命周期活動,尤其是下面我正在處理的應用程序示例。
在我的應用程序中,我有一個Login活動和一個Main活動。
在我的登錄活動中,嘗試成功,有一個Intent啟動主活動,並完成()登錄活動。
==>在那里,我的登錄活動已被破壞,因此不應再次顯示。
Intent intent = new Intent(this, MainActivity.class); intent.putExtra("authentResult", tokenDto); startActivity(intent); finish(); //destroy activity to not open it with back button`
在我的主要活動中,我有一個斷開連接按鈕,用於創建啟動(新?)登錄活動的Intent。
==>到此為止,一切正常,並且將顯示登錄活動。
Intent loginActivity = new Intent(this, LoginActivity.class);
startActivity(loginActivity);
在登錄活動中,使用“后退”按鈕應關閉該應用程序。
為此,我向主要活動發送帶有特殊標志的意圖以完成它(因此后退按鈕不會喚醒主要活動),然后完成登錄活動。 調用了onDestroy方法,我看到登錄窗口關閉了。
==>我希望從這里關閉該應用程序。 但是出現了“新”登錄活動,我懷疑這是第一點的活動 ,所以我在這里有點迷路了...
public void onBackPressed() { Log.d(TAG, "BACK PRESSED - loginActivity"); //Finish MainActivity Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); startActivity(intent); finish(); // finish login activity }
在mainActivity的onCreate中,我從以下內容開始:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
有人可以向我解釋我所缺少的內容,還是向我展示直接關閉該應用程序的更好方法?
如果有不清楚的地方,不要猶豫告訴我。
如果您在清單中將Login活動聲明為主要活動,如果在啟動第二個活動時沒有銷毀它,那么我認為后退按鈕將完成您期望的所有操作,而無需任何其他代碼,並且如果按登錄活動將轉到手機主屏幕
在Android應用程序上,是決定何時關閉/殺死應用程序的系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.