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_INTENT
dalam onStartCommand()
panggilan balik dalam layanan saya alih-alih START_STICKY
sehingga 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 :)
intent
adalah null
pada 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.
NullPointerException
di 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 intent
yang null
seperti 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
intent
menghilang.