在本地发送有序广播(在我的过程中)?

时间:2012-05-14 12:06:00

标签: java android android-intent broadcastreceiver

我的要求是:我的应用需要注册某些广播。如果我的Activity在收到广播时“正在显示”,那么我会更新用户界面;否则,我会显示Notification

Commonsware为此提出了elegant solution;使用有序广播。我的问题是,我想在我的流程中完成所有 本地 。很遗憾,LocalBroadcastManager没有等效的sendOrderedBroadcast()

  • 这只是LocalBroadcastManager
  • 的疏忽
  • 或者它是否指向最佳实践(在本地发送有序广播是一个坏主意)?如果是这样,为什么?
  • 或者这是不必要的,可以通过其他方式实现吗?

2 个答案:

答案 0 :(得分:0)

  

这只是LocalBroadcastManager的疏忽吗?

Google没有无限的工程时间。

  

或者它是否指向最佳实践(在本地发送有序广播是一个坏主意)?

我对此表示怀疑。

  

您是否考虑在Activity类中使用onUserLeaveHint()和onUserInteraction()callack?

onUserLeaveHint()在这里不够用(例如,不包括用户接听来电的情况),而我无法看到onUserInteraction()如何帮助您。

答案 1 :(得分:0)

我最终实现了具有有序广播功能的LocalBroadcastManager。该项目是shared at github

虽然它符合我的直接目的,但它的边缘仍然很粗糙。它需要一些增强功能(例如,setResult*getResult*方法)。欢迎代码贡献:)