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