Перезапускаешь мой андроид сервис? - PullRequest
1 голос
/ 29 июня 2011

Я хочу перезапустить службу Android, если некоторые настройки изменились, но нет ничего похожего на метод перезапуска в классе Service? Есть ли способ перезапустить мой сервис, кроме создания какого-либо метода сброса, который сбрасывает все переменные класса и т. Д.? Спасибо за любую подсказку!

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Я думаю, что повторный вызов снова вызовет onStartCommand ().Это может сработать для вас.

* он будет запущен onCreate (), если он не жив.

Снова вызовите startService (намерение), что сделает хитрость

0 голосов
/ 24 июля 2015

Вам необходимо 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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...