我目前正在向广播接收器发射一个意图,然后轮流开始一个活动。Android - 在启动Intent之前确保活动还活着?
然后从同一个服务中,另一个Intent被触发到活动中的广播接收器。
问题是,活动没有获得它的意图,因为它在它活着并且广播接收者被注册之前被触发。
我想知道在发送Intent之前是否有活动存在?
或者其他解决方案吗?
我目前正在向广播接收器发射一个意图,然后轮流开始一个活动。Android - 在启动Intent之前确保活动还活着?
然后从同一个服务中,另一个Intent被触发到活动中的广播接收器。
问题是,活动没有获得它的意图,因为它在它活着并且广播接收者被注册之前被触发。
我想知道在发送Intent之前是否有活动存在?
或者其他解决方案吗?
为什么不开始活动,如果它还没有活着?
的一般机制启动一个新的 活动如果没有运行 - 或 把活动栈前 如果在 背景 - 已运行是使用 NEW_TASK_LAUNCH国旗在 startActivity()调用。
这或简单地给活动一个机会开始之前发射的意图。
或者,您可以尝试使用sendOrderedBroadcast从广播中检索数据,然后可能重试。
public abstract void sendOrderedBroadcast (Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
我以为我有这个固定但问题又出现了。有没有人有如何使用sendOrderedBroadcast的例子?并取回数据? – 2010-03-04 14:08:52
我以为我有这个问题,但问题又出现了。有没有人有如何使用sendOrderedBroadcast的例子?并取回数据? – 2010-03-04 14:08:32
这是sendOrderedBroadcast()我发现的最好的例子... http://stackoverflow.com/questions/2943386/android-sendorderedbroadcast-help – bigstones 2011-02-05 23:00:08