我有这个活动开始并绑定到服务:
@Override
protected void onStart() {
super.onStart();
Intent intent = new Intent(context, SoundService.class);
context.startService(intent);
context.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
我解开了:
@Override
protected void onStop() {
context.unbindService(serviceConnection);
super.onStop();
}
即使关闭活动,服务仍会继续运行。看看这个场景:
onUnbind()
被称为onUnbind()
不被称为:( 为什么onUnbind()
没有被调用?
答案 0 :(得分:3)
从[{1}}返回true
,下次再次致电onUnbind
时,不仅会调用bindService
,还会调用最后一个客户解除绑定onRebind
将由系统调用
答案 1 :(得分:0)
你是如何开始这项服务的?请粘贴该代码。
只有在您拨打unbindService()
后才会停止服务如果没有其他客户端连接到此服务 AND 该服务已启动{{1}用bind
打电话。如果服务是以AUTO_CREATE
启动的,则服务将不会停止,直到服务调用startService()
或android终止它以释放内存