繁体   English   中英

恢复广播接收机的先前活动

[英]Resume previous activity from broadcast receiver

这是我的问题:

  • 我正在参加活动A
  • 活动A启动新的活动B来拨打电话(Intent.ACTION_CALL)
  • 如何恢复活动A-我不想结束活动B,我只想将活动A放在最前面

目前,我有一个broadcastReceiver,它能够在呼叫发生时启动活动A的新实例。 如果我从那里开始活动“ FLAG_ACTIVITY_SINGLE_TOP”,则会收到错误消息

Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag.
Is this really what you want?

但我不想执行新任务,我想恢复活动A

非常感谢!

编辑:也许我可以简单地模拟一下“返回”按钮上的点击?

考虑到您的用例-没有启动活动的任务的BroadcastReceiver-清单中的singleTask应该执行您想要的操作。

“ singleTask”系统创建一个新任务,并在新任务的根目录处实例化活动。 但是,如果活动的实例已经存在于单独的任务中,则系统将通过对其onNewIntent()方法的调用将意图路由到现有实例,而不是创建新实例。 一次只能存在一个活动实例。

注意:尽管活动在新任务中开始,但是“后退”按钮仍使用户返回上一个活动。

摘自: http : //developer.android.com/guide/components/tasks-and-back-stack.html

您是否尝试过使用FLAG_ACTIVITY_REORDER_TO_FRONT

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

它似乎完全可以满足您的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM