I have this activity that starts and binds to a service:
@Override
protected void onStart() {
super.onStart();
Intent intent = new Intent(context, SoundService.class);
context.startService(intent);
context.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
and I unbind by:
@Override
protected void onStop() {
context.unbindService(serviceConnection);
super.onStop();
}
The service keeps running even after closing the activity. Look at this scenario:
onUnbind()
is called onUnbind()
is not called :(Why is the onUnbind()
not being called?
return true
from onUnbind
, next time if you call bindService
again not only onRebind
will be called but also when the last clients unbinds also onUnbind
will be called by the system
How did you start the service ? Please paste that code.
Service will only be stopped after you called unbindService()
IF there are no other clients connected to this service AND the service was started with bind
call with AUTO_CREATE
. If the service was started with startService()
then the service will not be stopped until the service calls stopSelf()
or android terminates it to free memory
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With