IllegalArgumentException:服务未注册:

And*_*Dev 15 android

我的应用程序中有多个活动,每个活动调用bindserviceunbindservice获取数据.在第一次活动bindserviceunbindservice工作正常.在第二个活动(重用相同的服务)绑定服务方法工作正常,但unbindservice方法给出异常:

IllegalArgumentException: Service not registered:
Run Code Online (Sandbox Code Playgroud)

请帮忙.

J. *_*vea 10

NikkyD的问题非常好,在我的案例中帮助找到了这个例外的原因.对于遇到相同问题的任何人,请确保对相同的上下文完成bindService调用和unbindService调用.希望能帮助到你.


xff*_*874 5

多个客户端可以立即连接到该服务.但是,只有在第一个客户端绑定时,系统才会调用服务的onBind()方法来检索IBinder.然后,系统将相同的IBinder传递给任何其他绑定的客户端,而无需再次调用onBind(). http://developer.android.com/guide/components/bound-services.html 多个组件可以立即绑定到服务,但是当所有组件解除绑定时,服务将被销毁.所以,请检查您是否第一次杀死了该服务.可能会更好地通过IBind到每个活动.因为它只返回一个.