【发布时间】:2012-01-29 21:17:25
【问题描述】:
我绑定了一个 Activity 和 Service。
如果 Service 被系统杀死,Activity 会被注意到,因为 ServiceConnection.onServiceDisconnected(ComponentName) 会被调用。
但是当Activity的进程被系统杀掉后,有没有对Service的回调呢?服务如何知道客户端已被杀死? (当整个进程被杀死时,没有onDestroy()方法调用,可惜)
我现在看到的唯一方法是:
我的Service 中有回调列表:
RemoteCallbackList<IModConnClient> mCallbacks
当我通过调用mCallbacks.beginBroadcast(); 开始广播时,它返回给我一些客户。所以,我可以记住以前的客户数量并检查它是否减少了。但这似乎不是一个很好的解决方案。我想要一些回调,但不幸的是我找不到。
谁能给个建议?
【问题讨论】:
-
为什么你的活动和你的服务不在同一个进程中?
-
@CommonsWare,那是因为我需要创建将使用
AIDL与其他应用程序通信的服务。我的出发点是这个开发指南:goo.gl/pJBqX。我在 AndroidManifest.xml 中有android:process=":remote"用于此服务。
标签: android service android-activity kill