我有IntentService
需要将消息传递给Activity
。
我知道有两种方法可以做到。
在sendBroadcast()
侧使用Service
,同时在broadcastReciever
侧注册Activity
,接收邮件。
将Messenger
传递给服务side
,该服务将指向Handler
一侧的Activity
,该服务将准备好接收来自服务。
哪一个适合哪个目的?或者两者都这样做?
答案 0 :(得分:11)
如果您的IntentService
不知道该活动是否存在(例如,可能已被销毁),或者是否有多个活动可能在前台并想知道发生了什么,我'使用sendOrderedBroadcast()
。如果需要,您可以安排一个“后挡”BroadcastReceiver
,如我在this blog post中勾勒出来并在this sample project中演示一样,可以发出通知。
但是,你的任何一种技术都可以发挥作用。