我在我的軟活動和一項主要活動中有一個登錄活動。我想要做的是啓動登錄活動,登錄用戶,然後啓動主要活動,並從堆棧中刪除登錄活動,以便用戶可以通過按回退按鈕訪問登錄活動。 Whitch打算用旗幟?如何開始活動並結束之前啓動的所有其他活動
回答
Intent intent = new Intent(currentClassYoureIn.this, newClassYouWantToBeIn.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // closes all activities that were started after "newClassYouWantToBeIn"
startActivity(intent);
也就是說,或者你可以只啓動新的意圖,然後使用方法finish()
關閉當前活動(即你開始在新的意圖):
Intent intent = new Intent(currentClassYoureIn.this, newClassYouWantToBeIn.class);
startActivity(intent);
finish(); // closes "currentClassYoureIn" and now "newClassYouWantToBeIn" is the only activity up
Intent.FLAG_ACTIVITY_CLEAR_TOP沒有完成所有活動。例如,你有4個活動,A,B,C,和d,並且流程是 A - >乙 - 「ç - > d ,現在當你在d要啓動活動B(從堆棧而不是新實例),那麼你可以使用這個意圖標誌。而且它所做的就是刪除B之上的所有其他活動(這裏C和D不是A)。所以新的狀態將是A - > B。更多信息請參閱本http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP –
如果你的建議是這樣的意向意圖=新意圖(Login.this,main.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);相信我,我不會完成登錄活動。請檢查 –
如果他只想完成登錄活動,他可以簡單地啓動主要活動,然後調用完成功能。像Intent intent = new Intent(LoginActivity.this,mainActivity.class); \t \t \t \t startActivity(意向); \t \t \t \t光潔度(); –
好吧,我也最近處理此問題。您需要覆蓋onBackPressed()
方法以限制按下後退按鈕的操作。
所以你應該做的是,在主要活動寫,
public void onBackPressed() {
new AlertDialog.Builder(this)
.setTitle("Alert")
.setMessage("Please Log out first.")
.setpositiveButton("Ok", null)
.create().show();
}
這樣,用戶無法返回到登錄頁面,而不在MainActivity頁面註銷。
又看了一下使用的finish()
。
This可能help.Check出來。
那麼AlertDialog如何影響任務堆棧呢? –
這個答案最適合我希望它也適用於你試試這個 https://stackoverflow.com/a/11308263
- 1. 如何在其他活動結束之前停止活動?
- 2. Android結束所有其他活動?
- 3. 如果從其他活動開始活動,則啓動方法
- 4. 如何開始動畫結束活動
- 5. 如何在Android動畫結束後啓動開始活動
- 6. 在從服務開始活動之前關閉所有活動
- 7. 如何檢測活動何時在前臺並啓動其他活動
- 8. 如何製作啓動畫面結束動畫並開始下一個活動?
- 9. 如何清楚地結束活動時去其他活動
- 10. 如何從其他活動啓動啓動器活動?
- 11. 如何從其他活動的片段開始活動 - Android
- 12. 從其他帶有標籤的活動開始的活動
- 13. 開始活動並且不摧毀其他活動
- 14. 從具有線程的活動開始其他活動
- 15. 啓動之前的活動
- 16. 如何啓動一項活動以應對所有其他活動?
- 17. 如何在從AppWidgetProvider啓動新活動之前關閉所有活動android
- 18. 如何從其他活動啓動Android AppWidget的配置活動?
- 19. 在結束前一個之後開始活動
- 20. 活動結束活動Android
- 21. 從其他活動中打開活動
- 22. 從其他活動啓動主啓動器活動
- 23. 是否有FLAG_ACTIVITY _ ****將前一個活動放在前面並完成堆棧之間的所有其他活動?
- 24. 如何在動畫結束後開始新的活動?
- 25. 清除所有當前活動並在後臺開始新活動?
- 26. 開始時的其他活動
- 27. 如何從singleInstance活動開始活動?
- 28. 停止目前的活動,並通過其他活動
- 29. 如何初始化其他活動的活動
- 30. 從其他活動開始主要活動
你是什麼意思,這樣用戶就可以接取的登錄活動也應該是這樣的用戶無法訪問登錄活動。 –
,他不能後退按鈕接取僅與新打算的它會在停止的情況下的主要活動的防止錯誤和問題reloging用戶而他不退出 –