簡體   English   中英

按下返回按鈕后,恢復了錯誤的活動

[英]Wrong activity resumed after pressed back button

這是我的活動動作的簡要說明:活動A是一個啟動程序,它使用意圖標志Intent調用活動B。| FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK。 當活動A啟動活動B時,按預期在活動A中調用毀滅。 當我在活動B中按“后退”按鈕時,活動B中稱為“毀滅”,這使我進入了希望的發射者。

目前沒有任何活動,但是應用程序和任務管理器仍然可見。 當我單擊它時,它將帶我進入活動A(可能是因為它是清單中的MAIN動作)。

我嘗試獲得的行為是,當我在活動B中按下“后退”按鈕時,它將帶我回到主屏幕,並且可以返回到is,就好像它是根活動一樣。

有人可以幫我嗎? 謝謝 !

如果您在活動B中單擊“后退”按鈕,則將能夠導航到主屏幕並從以下來源返回到根活動(A)。

為什么使用Intent.FLAG_ACTIVITY_CLEAR_TASK?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ((Button)findViewById(R.id.btn_send)).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Case 1. 
            //startActivity(new Intent(A.this, B.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
            //Case 2. 
            startActivity(new Intent(A.this, B.class).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP));
        }
    });
}

FLAG_ACTIVITY_CLEAR_TASK

在API級別11中添加。int FLAG_ACTIVITY_CLEAR_TASK如果在傳遞給Context.startActivity()的Intent中進行設置,則此標志將導致在開始活動之前清除與該活動相關的任何現有任務。 也就是說,活動成為原本為空的任務的新根,並且所有舊活動都已完成。 只能與FLAG_ACTIVITY_NEW_TASK結合使用。

常數:32768(0x00008000)

Google開發人員

您必須刪除標志FLAG_ACTIVITY_CLEAR_TASK,因為作為此處的android開發人員網站,此行為將破壞您的活動A,您需要刪除該標志,然后您的活動將保留在堆棧中,並且您將能夠返回活動A

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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