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