我无法清除应用的活动堆栈。在我的应用程序开始时,我让用户登录并为他们提供会话ID。登录后,他们可以继续使用该应用程序。但是,如果会话过期,我想将它们重定向到登录活动并清除活动历史记录,以便他们无法访问该应用程序。我查看了Android API和Intent标志FLAG_ACTIVITY_CLEAR_TASK
似乎是我想要的,但它只是包含在API级别11中,并且没有手机拥有新的操作系统。有没有人有这个问题的解决方案。感谢。
答案 0 :(得分:2)
我找到了答案here。事实证明,我必须广播一个意图告诉所有活动调用方法finish()
。
答案 1 :(得分:1)
FLAG_ACTIVITY_CLEAR_TOP
的文档描述了与FLAG_ACTIVITY_NEW_TASK
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP
“此启动模式也可以与FLAG_ACTIVITY_NEW_TASK一起使用效果良好:如果用于启动任务的根活动,它会将该任务的任何当前运行的实例带到前台,然后将其清除为root state。这在从通知管理器启动活动时特别有用。“