¿Hay alguna otra razón por la que el Intent que se pasa onStartCommand(Intent, int, int)
sea NULL además de que el sistema reinicie el servicio a través de una bandera como START_STICKY
?
Además, cuando el sistema reinicia el servicio, el Intent.getAction()
método devuelve NULL ... a veces. La intención no es NULL sologetAction()
También pregunté aquí, pero todavía no he recibido una respuesta.
ACTUALIZACIÓN : Después de conversar con Mark Murphy, sugirió que regresara START_REDELIVER_INTENT
en la onStartCommand()
devolución de llamada en mi servicio en lugar de START_STICKY
enviar la intención completa después de un reinicio.
No hice esto inicialmente porque me preocupaba que si el servicio intentaba hacer algo, en medio de ese algo, el servicio se reiniciaba ... ¿reconocerá que comenzó a hacer ese algo? Supongo que esa es la lógica de la que tendré que ser responsable :)
intent
es null
el onStartCommand()
, que es causado por algún otro error que es visible en LogCat antes de esto. No sé por qué, pero esto es lo que observé y es bastante fácil pasarlo por alto.
NullPointerException
en algún lugar de una de las Actividades. Más tarde fue algún otro error. Pero en ambos casos, mi seguimiento de pila mostró que mi servicio, que se estaba ejecutando mientras ocurría este error, intent
era null
como en su caso. Estuve pensando durante bastante tiempo en lo que estaba mal, cuando decidí desplazarme hacia arriba en el seguimiento de la pila y parecía que en algún lugar de la parte superior tenía mi verdadero error. Después de resolver este, también null
intent
desapareció el que tenía .