这是我的问题:
目前我有一个broadcastReceiver,它可以在调用发生时启动活动A的新实例。如果我用“FLAG_ACTIVITY_SINGLE_TOP”从那里开始活动A,我收到错误
Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag.
Is this really what you want?
但我不想要新任务,我想恢复活动A
非常感谢!
编辑: 也许我可以简单地模拟一下BACK按钮的点击?
答案 0 :(得分:1)
考虑您的使用案例 - BroadcastReceiver没有启动活动的任务 - 清单中的singleTask
应该按照您的意愿行事。
“singleTask” 系统创建一个新任务并在其根目录实例化活动 新任务。但是,如果活动的实例已经存在于 在单独的任务中,系统将意图路由到现有实例 调用其onNewIntent()方法,而不是创建新实例。 一次只能存在一个活动实例。
注意:虽然活动在新任务中开始,但返回 按钮仍然将用户返回到上一个活动。
取自:http://developer.android.com/guide/components/tasks-and-back-stack.html
答案 1 :(得分:0)
您是否尝试过使用FLAG_ACTIVITY_REORDER_TO_FRONT
?
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT
它似乎完全符合你的需要。