Apakah ada alasan lain bahwa Intent yang diteruskan onStartCommand(Intent, int, int)adalah NULL selain sistem yang memulai ulang layanan melalui tanda seperti START_STICKY?
Juga, ketika layanan di-restart oleh sistem, Intent.getAction()metode mengembalikan NULL ... kadang-kadang. Maksudnya bukan hanya NULLgetAction()
Saya bertanya di sini juga tetapi belum menerima jawaban.
PEMBARUAN : Setelah mengobrol dengan Mark Murphy, dia menyarankan agar saya kembali START_REDELIVER_INTENTdalam onStartCommand()panggilan balik dalam layanan saya alih-alih START_STICKYsehingga seluruh maksud dikirim setelah restart.
Saya tidak melakukan ini pada awalnya karena saya khawatir jika layanan mencoba melakukan sesuatu, lalu di tengah-tengah itu sesuatu layanan dimulai ulang ... akankah ia mengenali bahwa ia mulai melakukan sesuatu itu? Saya rasa itu logika yang harus saya tanggung :)
intentadalah nullpada onStartCommand(), hal itu disebabkan oleh beberapa kesalahan lain yang terlihat di LogCat sebelum ini. Saya tidak tahu mengapa, tapi inilah yang saya amati dan cukup mudah untuk mengabaikannya.
NullPointerExceptiondi suatu tempat di salah satu Aktivitas. Kemudian terjadi kesalahan lainnya. Tetapi dalam kedua kasus jejak stack saya menunjukkan bahwa layanan saya - yang berjalan saat kesalahan ini terjadi - memiliki intentyang nullseperti dalam kasus Anda. Saya berpikir cukup lama apa yang salah, ketika saya memutuskan untuk menggulir jejak tumpukan dan ternyata di suatu tempat di atas saya memiliki kesalahan saya yang sebenarnya. Setelah menyelesaikan yang satu ini, juga yang null intentmenghilang.