![](/img/trans.png)
[英]Android on back pressed previous activity is restarted instead of resumed
[英]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)
您必須刪除標志FLAG_ACTIVITY_CLEAR_TASK,因為作為此處的android開發人員網站,此行為將破壞您的活動A,您需要刪除該標志,然后您的活動將保留在堆棧中,並且您將能夠返回活動A
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.