簡體   English   中英

銷毀活動如何工作?

[英]How destroy activity works?

我是android開發的新手,我不了解生命周期活動,尤其是下面我正在處理的應用程序示例。

在我的應用程序中,我有一個Login活動和一個Main活動。

  1. 在我的登錄活動中,嘗試成功,有一個Intent啟動主活動,並完成()登錄活動。
    ==>在那里,我的登錄活動已被破壞,因此不應再次顯示。

     Intent intent = new Intent(this, MainActivity.class); intent.putExtra("authentResult", tokenDto); startActivity(intent); finish(); //destroy activity to not open it with back button` 
  2. 在我的主要活動中,我有一個斷開連接按鈕,用於創建啟動(新?)登錄活動的Intent。
    ==>到此為止,一切正常,並且將顯示登錄活動。

     Intent loginActivity = new Intent(this, LoginActivity.class); 

    startActivity(loginActivity);

  3. 在登錄活動中,使用“后退”按鈕應關閉該應用程序。
    為此,我向主要活動發送帶有特殊標志的意圖以完成它(因此后退按鈕不會喚醒主要活動),然后完成登錄活動。 調用了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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM