W dokumentacji Android Służba w "onStartCommand()
" ma zamiar przekazana jako param
, że zgodnie z dokumentacją:zerowy intencją redelivered do serwisu onStartCommand()
„THE Intent
dostarczane startService(Intent)
, jak podano to. może mieć wartość null, jeśli usługa zostanie uruchomiona ponownie po zakończeniu procesu, a wcześniej zwrócono cokolwiek z wyjątkiem START_STICKY_COMPATIBILITY
. "
Jednak zwracana wartość START_REDELIVER_INTENT
ma zwrócić pierwotną intencję podczas ponownego uruchamiania usługi.
Czy ktoś może wyjaśnić, dlaczego intent
może być pusty, nawet jeśli flag
został ustawiony na START_REDELIVER_INTENT
?
+1: Obserwuję to samo zachowanie: START_REDELIVER_INTENT daje zerowe intencje. Jednak większość urządzeń to mniej znane marki, takie jak Alpy, Tecno i Wiko. Do tej pory nie widziałem żadnych popularnych marek. –
W rzeczywistości, patrząc na inny problem, widzę, że własna usługa com.google.android.gms.measurement.AppMeasurementService firmy Google zawiesza się z NullPointerException w onStartCommand() na urządzeniach ** Itel **. Wygląda na to, że robią intent.getAction() bez sprawdzania, czy intencja ma wartość zerową. Używają START_NOT_STICKY tam, gdzie usługa nie powinna zostać ponownie uruchomiona (co powinno unikać zerowych zamiarów). –