0
我有一個應用程序,它有多個入口點活動。我希望能夠以編程方式清除我的活動堆棧。設想一個需要用戶身份驗證的應用程序,並且用戶希望遠程使其會話失效(例如,被盜設備)。當您有多個入口點活動時清除活動堆棧?
在一個應用程序有一個單一的啓動活動的情況下,我們可以只使用:
Intent intent = new Intent(context, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
要回根系活力。但是我的應用程序可能已經從不同的入口點啓動,因此在堆棧的根目錄可能有不同的活動類別。
一些選項:
- 註冊在我的基本活動類的廣播接收機,我可以從任何地方打電話。在處理程序中,只需調用finish(),展開可能存在的任何堆棧。
- 使用皺眉的System.exit()。
- 在上面的例子中,使用Intent.FLAG_ACTIVITY_CLEAR_TASK除了其他兩個標誌(但是這僅僅是API 11及更高版本...)
感謝
是否所有的活動都在同一個任務中? – 2013-05-14 02:09:43
是的,都在同一個任務。 – user291701 2013-05-14 16:05:32