0

我目前正在向广播接收器发射一个意图,然后轮流开始一个活动。Android - 在启动Intent之前确保活动还活着?

然后从同一个服务中,另一个Intent被触发到活动中的广播接收器。

问题是,活动没有获得它的意图,因为它在它活着并且广播接收者被注册之前被触发。

我想知道在发送Intent之前是否有活动存在?

或者其他解决方案吗?

+0

我以为我有这个问题,但问题又出现了。有没有人有如何使用sendOrderedBroadcast的例子?并取回数据? – 2010-03-04 14:08:32

+0

这是sendOrderedBroadcast()我发现的最好的例子... http://stackoverflow.com/questions/2943386/android-sendorderedbroadcast-help – bigstones 2011-02-05 23:00:08

回答

1

为什么不开始活动,如果它还没有活着?

的一般机制启动一个新的 活动如果没有运行 - 或 把活动栈前 如果在 背景 - 已运行是使用 NEW_TASK_LAUNCH国旗在 startActivity()调用。

这或简单地给活动一个机会开始之前发射的意图。

或者,您可以尝试使用sendOrderedBroadcast从广播中检索数据,然后可能重试。

public abstract void sendOrderedBroadcast (Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) 
+0

我以为我有这个固定但问题又出现了。有没有人有如何使用sendOrderedBroadcast的例子?并取回数据? – 2010-03-04 14:08:52