BroadcastReceiver或Messenger通过Handler

时间:2011-09-10 15:24:05

标签: android android-service android-sdk-2.1

我有IntentService需要将消息传递给Activity。 我知道有两种方法可以做到。

  1. sendBroadcast()侧使用Service,同时在broadcastReciever侧注册Activity,接收邮件。

  2. Messenger传递给服务side,该服务将指向Handler一侧的Activity,该服务将准备好接收来自服务。

  3. 哪一个适合哪个目的?或者两者都这样做?

1 个答案:

答案 0 :(得分:11)

如果您的IntentService不知道该活动是否存在(例如,可能已被销毁),或者是否有多个活动可能在前台并想知道发生了什么,我'使用sendOrderedBroadcast()。如果需要,您可以安排一个“后挡”BroadcastReceiver,如我在this blog post中勾勒出来并在this sample project中演示一样,可以发出通知。

但是,你的任何一种技术都可以发挥作用。