簡體   English   中英

Android禁止返回以前的活動

[英]Android prevent going back to previous activities

我正在開發一個Android應用程序,在該應用程序中我想防止用戶登錄后返回登錄活動。我已經嘗試過Intent.FLAG_ACTIVITY_CLEAR_TASK,但是它不起作用

Intent intent = new Intent(SignInActivity.this, FirstPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

而且我還嘗試在啟動Activity之后立即添加完成,但這只是給我一個泄漏的窗口錯誤。

Intent intent = new Intent(SignInActivity.this, FirstPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

我的活動路徑是:

MainActivity(我的應用程序說明)<-> SignInActivity(登錄)-> First(已登錄)。

用戶可以在MainActivity和SigInActivity之間來回移動。 如何防止用戶從FirstPage返回SignInActivity或MainActivity?

任何想法? 謝謝!

調用finish()將結束該活動,並且不將該活動作為您可以返回的活動放在堆棧中。 您需要調查導致窗口泄漏錯誤的原因(例如,在完成活動時在屏幕上留下通知),並解決該問題,而不是因為您遇到窗口泄漏錯誤而不使用完成。

使用FLAG_ACTIVITY_NEW_TASK,您的活動將成為歷史記錄堆棧新任務的開始。 嘗試同時使用兩個標志(NEW_TASK和CLEAR_TOP)。

您還可以覆蓋onBackPressed方法。

@Override
public void onBackPressed() {
      return; 
}

這篇文章解決了一個非常相似的問題,值得一看!

暫無
暫無

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

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