Существует ли какая-либо другая причина, по которой намерение, переданное onStartCommand(Intent, int, int)
, будет равно NULL, кроме того, что система перезапускает службу с помощью флага, такого как START_STICKY
?
Кроме того, когда служба перезапускается системой, метод Intent.getAction()
возвращает NULL ... иногда. Намерение не NULL просто getAction()
Я тоже спросил здесь , но пока не получил ответа.
ОБНОВЛЕНИЕ : После общения с Марком Мерфи он предложил мне вернуть START_REDELIVER_INTENT
в обратном вызове onStartCommand()
в моем сервисе вместо START_STICKY
, чтобы все намерения отправлялись после перезапуска.
Сначала я этого не делал, потому что был обеспокоен тем, что если служба пытается что-то сделать, то в середине чего-то служба была перезапущена ... узнает ли она, что она начала что-то делать? Я предполагаю, что это логика, за которую я должен быть ответственен:)