我在IntentService
中有以下代码向注册客户发送Message
:
for(Messenger client : clients) {
client.send(aMessage);
}
根据send()
的文档,此方法可以专门抛出RemoteException
,DeadObjectException
。
来自DeadObjectException
的文档:
您呼叫的对象已经死亡,因为它的托管过程没有 存在的时间越长。
如果我理解正确,这意味着如果我的客户都来自Service
的流程,(理论上)此Exception
永远将被抛出
我是对的吗?
提前致谢。
答案 0 :(得分:1)
是强>
但值得注意的是,Messenger
的全部目的是与官方文档中提到的不同流程进行沟通:
如果您需要服务与远程进程通信,则可以使用Messenger。
如果您需要在同一过程中与您的服务进行通信,我建议您使用local bound service。