【发布时间】:2012-09-15 19:39:33
【问题描述】:
我有一个 BroadcastReceiver(#1),它一直在运行以捕获事件。当事件发生时,它可能需要对特定活动进行 UI 更改(如果该活动处于活动状态)。为此,我让 BroadcastReceiver#1 创建了一个新意图,该意图被活动上的第二个 BroadcastReceiver(#2) 捕获,并且仅在 Activity 未暂停时才注册/取消注册……如此处所述: Inform Activity from a BroadcastReceiver ONLY if it is in the foreground
一切正常...但是,现在我希望 BroadcastReceiver#1 在活动未聚焦或聚焦但选择不处理事件时发布状态通知。因此,Activity(如果处于活动状态)需要某种方式与 BroadcastReceiver#1 进行通信。
我想我会让 BroadcastReceiver#1 产生一个线程,该线程将在 X 秒后发布带有通知的事件...该线程将有第三个 broadcastreceiver#3,如果接收活动选择处理事件,它可以发送一个“不要打扰发布该通知”的意图,该意图将被 BroadcastReceiver#3 捕获以中止通知。但是,这不起作用,因为 Android 不允许一个 BroadcastReceiver 注册另一个 BroadcastReceiver。
【问题讨论】:
标签: android android-activity notifications broadcastreceiver