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