Обнаружить «Планирование перезапуска аварийного сервиса» в Android - PullRequest
2 голосов
/ 17 ноября 2011

Есть ли способ определить, когда моя служба Android перезагружается из-за сбоя?Может ли служба знать об этом после перезапуска?Или клиентские приложения могут получить эту информацию?

Я пытался использовать флаг START_FLAG_REDELIVERY в сервисе, но я не уверен, как он работает.

Ответы [ 2 ]

3 голосов
/ 04 февраля 2014

Из документации onStartCommand(Intent intent, int flags, int startId):

Параметры

намерение - намерение, предоставленное startService (намерение), как дано. Может быть нулевым, если служба перезапускается после процесс ушел , и ранее он возвращал все, кроме START_STICKY_COMPATIBILITY.

Итак, если ваша служба перезапущена по какой-либо причине (и она запустилась неактивно), она будет перезапущена с нулевым намерением .

0 голосов
/ 27 июня 2012

Определить, когда служба перезапускается? Это можно сделать, проанализировав logcat, вручную или программно. В зависимости от того, что вызывает «сбой», возможны и другие способы ..

Может ли служба узнать себя после перезапуска? Да, через доставленное намерение, полученное в функции onCreate.

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