[英]Removing Activity from BackStack (Flag_Activity_no_history) does not work
我的MainActivity中有一個“開始”按鈕。 如果我單擊此按鈕,我將轉到下一個活動(InfoActivity)。 現在,如果我點擊按鈕,我想從BackStack中刪除MainActivity。 我試過這個:
View.OnClickListener startButtonListener = new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, InfoActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
}
};
但是這不會從BackStack中刪除MainActivity,它會從BackStack中刪除InfoActivity。
我知道我可以將標志插入AndroidManifest。 但這對我來說是不可能的,因為如果我從MainActivity轉到PreferencesActivity並使用AndroidManifest中的標志,那么如果我從PreferencesActivity返回到MainActivity,則會刪除MainActivity。
所以我想從BackStack中刪除MainActivity,如果我點擊按鈕Start。
添加完成(); 像這樣 :
View.OnClickListener startButtonListener = new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, InfoActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
this.finish();
}
};
如上所述,您應該在您不希望在MainActivity上跟蹤的活動中使用Intent.FLAG_ACTIVITY_NO_HISTORY
。 其他方法是在您的信息活動上使用Intent.FLAG_ACTIVITY_CLEAR_TOP
,這將清除整個歷史記錄(即使是在MainActivity之前的事情)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.