Android - 确保在激活Intent之前活动是否存在?

时间:2010-02-24 17:13:34

标签: android android-activity android-intent broadcastreceiver

我目前正在向广播接收器发出一个意图,然后广播接收器开始一个活动。

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

问题是Activity没有获得Intent意味着它,因为它在它活动并且广播接收器已注册之前被触发。

我想知道在发送意图之前是否确保活动有效?

或者其他任何解决方案?

1 个答案:

答案 0 :(得分:1)

如果活动尚未存活,为什么不开始活动?

  

开始新的一般机制   活动,如果它没有运行 - 或   将活动堆栈放在前面   如果已经在运行了   背景 - 是使用   NEW_TASK_LAUNCH标志在   startActivity()调用。

那或者只是让活动有机会在解雇意图之前开始。

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

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