Parse.com 推送通知和有序广播

Parse.com Push notifications and ordered broadcast

我正在实施 Parse 推送通知。我有 2 个接收器。如果一个特定的 activity 是 运行,第一个将始终显示通知,第二个将接管通知。一个在清单中注册(优先级 1),另一个是 registered/unregistered 动态(优先级 2)。我的问题是我无法通过调用

取消动态接收器的广播
abortBroadcast()

它抛出一个异常

BroadcastReceiver trying to return result during a non-ordered broadcast

那么,有什么方法可以让广播按顺序进行吗? 我真的很想在 activity 处于活动状态时处理它中的数据。

好的,找了2个小时,终于解决了。这就是我所做的,

首先,我创建了一个基础 BroadcastReceiver,它接收来自 Parse 的推送通知。然后它从收到的意图中删除所有操作并添加自定义操作,例如 com.myclass.PUSH 然后我用了

context.sendOrderedBroadcast(intent, null);

使用我的自定义操作发送新的有序广播。

现在我将其他两个接收者(在清单中定义的那个和我在 activity 中定义的动态接收者)的操作设置为 com.myclass.PUSH

现在广播已订购,我可以使用 abortBroadcast()

取消它