【问题标题】:Start a new activity clearing the activity stack开始一个新的活动清除活动堆栈
【发布时间】:2013-09-05 13:04:47
【问题描述】:

为了在检测到不是许可版本时阻止应用程序,我想启动一个新的活动来清除当前堆栈,那就是: 如果堆栈有活动 [A,B,C,D] 我想启动活动 E 离开堆栈只有 [E]。

我正在使用意图附加功能 FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_TASK 和 FLAG_ACTIVITY_NEW_TASK,但没有成功

【问题讨论】:

  • 我听说过问题,当人们使用这些意图附加功能时,但它们不起作用。其中一些是通过清理项目、重新启动 eclipse 和/或模拟器来修复的。值得一试,因为这些 FLAG 应该可以工作。
  • 贴出相关代码并定义“不成功”。 FLAG_ACTIVITY_CLEAR_TOP 标志应该可以满足您的需求

标签: java android


【解决方案1】:

当接收到带有EXIT 的意图时,您可以创建一个覆盖OnNewIntent 的父活动。注意,您必须使用SINGLE_TOP 标志调用它,因此将调用OnNewIntent

然后创建一个静态方法,向所有继承此父活动的活动广播退出意图。

即使您有多个任务,这也应该可以工作。

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 2015-05-13
    • 2018-12-01
    • 2011-09-19
    • 1970-01-01
    • 2011-12-09
    • 2011-10-27
    • 1970-01-01
    相关资源
    最近更新 更多