I am trying to stop a service which is running as foreground service.
The current issue is that when I call stopService()
the notification still stays.
So in my solution I have added a receiver which I am registering to inside the onCreate()
Inside the onReceive()
method I call stopforeground(true)
and it hides the notification.
And then stopself()
to stop the service.
Inside the onDestroy()
I unregistered the receiver.
Is there a more proper way to handle this? because stopService() simply doesn't work.
@Override
public void onDestroy(){
unregisterReceiver(receiver);
super.onDestroy();
}
From your activity call startService(intent)
and pass it some data that will represent a key to stop the service.
From your service call stopForeground(true)
and then stopSelf()
right after it.