Gibt es einen anderen Grund dafür, dass die Absicht, an onStartCommand(Intent, int, int)
die übergeben wird, NULL ist, außer dass das System den Dienst über ein Flag wie neu startet START_STICKY
?
Wenn der Dienst vom System neu gestartet wird, gibt die Intent.getAction()
Methode manchmal NULL zurück ... manchmal. Absicht ist nicht nur NULLgetAction()
Ich habe auch hier gefragt , aber noch keine Antwort erhalten.
UPDATE : Nachdem er mit Mark Murphy gesprochen hatte, schlug er vor, dass ich START_REDELIVER_INTENT
den onStartCommand()
Rückruf in meinem Dienst zurückgeben sollte, anstatt START_STICKY
dass die gesamte Absicht nach einem Neustart gesendet wird.
Ich habe dies anfangs nicht getan, weil ich befürchtet hatte, dass der Dienst mitten in diesem Vorgang neu gestartet wurde, wenn der Dienst versuchte, etwas zu tun. Wird er erkennen, dass er damit begonnen hat, etwas zu tun? Ich denke, das ist Logik, für die ich verantwortlich sein muss :)
intent
ist null
auf onStartCommand()
, es durch einen anderen Fehler verursacht wird , die in LogCat bevor diese sichtbar ist. Ich weiß nicht warum, aber das habe ich beobachtet und es ist ziemlich leicht, es zu übersehen.
NullPointerException
irgendwo in einer der Aktivitäten. Später war es ein anderer Fehler. Aber in beiden Fällen mein Stack - Trace zeigte , dass mein Service - die ausgeführt wurde , während dieser Fehler aufgetreten ist - hatte intent
das war null
wie in Ihrem Fall. Ich habe ziemlich lange darüber nachgedacht, was los ist, als ich mich entschied, den Stack-Trace nach oben zu scrollen, und es schien, dass ich irgendwo oben meinen wahren Fehler hatte. Nach dem Lösen dieses Problems ist auch der mit null
intent
verschwunden.