Aidl,android和解绑服务

时间:2012-07-25 14:06:39

标签: android aidl

有人可以在调用 unbindService 之后向我解释为什么我仍然可以与服务进行通信?

流程:

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
...

1 个答案:

答案 0 :(得分:1)

也许该服务仍在处理任务。

在google文档中,它声明调用unbindService(Connection)只是允许服务随时停止。它没有提到它是一个硬停止或强制停止。

来自google doc: “断开与应用程序服务的连接。当服务重新启动时,您将不再接听电话,现在可以随时停止服务。”

另一种可能性是您可能有另一个绑定到该服务的活动,只要您至少有一个绑定接口,该服务就会保持活动状态。

如果您想发布有关您正在做的事情的更多详细信息,我可以提供更好的解决方案。

由于