我目前正在向广播接收器发出一个意图,然后广播接收器开始一个活动。
然后,从同一个服务中,另一个Intent被激活到活动中的广播接收器。
问题是Activity没有获得Intent意味着它,因为它在它活动并且广播接收器已注册之前被触发。
我想知道在发送意图之前是否确保活动有效?
或者其他任何解决方案?
答案 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)