0
能否有人为我解释一下为什么叫unbindService后,我仍然能够与服务进行通信?AIDL,Android和取消绑定服务
流程:
bindService(new Intent(IService.class.getName()), conn, Context.BIND_AUTO_CREATE)
...
mService = IService.Stub.asInterface(service);
...
writeToOutput("Droping bombs from: " + mService.getPid());
...
unbindService(mCurConnection);
...
writeToOutput("Droping bombs from: " + mService.getPid()); // no exception - still returns good values
...
我想从ApiDemos复制RemoteService。问题是我不想结束服务,但关闭用户的连接。我知道有其他方法可以做到这一点,但我只是想知道为什么它仍然允许通信我已经告诉结束连接后。 – LazyBones 2012-07-25 14:37:42
它可能仍然是工作的任务,因此允许通信。作为该服务的客户端,您应该让代码的结构化方式使得在调用断开连接之后,在显式连接或重新连接之前,不再与服务进行通信。 – Birdnado 2014-11-17 19:31:07