Вам необходимо override
onStartCommand()
в вашем классе обслуживания следующим образом:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, START_STICKY, startId);
return START_STICKY;
}
Постоянная переменная START_STICKY
указывает систему на перезапуск службы, если она будет уничтожена.
Вы должны иметь / реализовать listener
для обнаружения и информирования об изменении предпочтений, и вам нужно зарегистрироваться для этого слушателя внутри метода onStart()
и отменить регистрацию этого слушателя внутри onDestroy()
.