簡體   English   中英

從BackStack中刪除活動(Flag_Activity_no_history)不起作用

[英]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.

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