我的应用程序中有多个活动,每个活动调用bindservice和unbindservice获取数据.在第一次活动bindservice和unbindservice工作正常.在第二个活动(重用相同的服务)绑定服务方法工作正常,但unbindservice方法给出异常:
IllegalArgumentException: Service not registered:
Run Code Online (Sandbox Code Playgroud)
请帮忙.
J. *_*vea 10
NikkyD的问题非常好,在我的案例中帮助找到了这个例外的原因.对于遇到相同问题的任何人,请确保对相同的上下文完成bindService调用和unbindService调用.希望能帮助到你.
多个客户端可以立即连接到该服务.但是,只有在第一个客户端绑定时,系统才会调用服务的onBind()方法来检索IBinder.然后,系统将相同的IBinder传递给任何其他绑定的客户端,而无需再次调用onBind(). http://developer.android.com/guide/components/bound-services.html 多个组件可以立即绑定到服务,但是当所有组件解除绑定时,服务将被销毁.所以,请检查您是否第一次杀死了该服务.可能会更好地通过IBind到每个活动.因为它只返回一个.
| 归档时间: |
|
| 查看次数: |
7654 次 |
| 最近记录: |