销毁活动堆栈

And*_*rew 1 android android-activity

我正在构建一个应用程序,要求用户登录并获取用户ID.此id是我的扩展Application类的成员变量.

我希望应用程序识别何时/如果此变量被清除,如果是,则抛出我的登录屏幕并销毁它后面的Activity堆栈.

以下是我认为我将要做的事情:

扩展活动和ListActivity(目前我只使用两种类型的活动).在onResume()处理程序中,检查是否设置了用户标识.如果没有,请抛出登录屏幕并销毁其后面的其余活动堆栈.我的所有活动都将来自这些新的扩展活动.

我的问题是我不知道如何销毁特定Activity后面的Activity堆栈.有任何想法吗?

一个想法是让广播接收侦听特定消息,告诉活动自杀,但我希望Android已经有适合这种情况的东西.

更新:

另外,有没有办法清除整个Activity堆栈?我想覆盖Activity上的onBackPressed()处理程序并将Activity堆栈吹出,以便用户被带回Android主屏幕.

Jor*_*sys 7

其他选择是使用AndroidManifest.xml中的noHistory参数来完成此任务.所以你的Activity不应该放在历史堆栈中

<activity android:name=".MyActivity"
          android:noHistory="true" />
Run Code Online (Sandbox Code Playgroud)