除了系統通過諸如START_STICKY
之類的標誌重新啓動服務之外,還有其他原因傳遞給onStartCommand(Intent, int, int)
的Intent是否爲NULL?onStartCommand中傳遞的Intent將爲NULL的原因
此外,當系統重新啓動服務時,Intent.getAction()
方法有時會返回NULL ...。意圖不是NULL只是getAction()
我也問過here,但還沒有收到答案。
UPDATE:馬克·墨菲聊天后,他建議我在onStartCommand()
回調在我的服務,而不是START_STICKY
返回START_REDELIVER_INTENT
使整個意圖在重新啓動發送。
我最初並沒有這樣做,因爲我擔心如果服務試圖做某件事,那麼在該服務重新啓動的過程中,它會認識到它開始做那件事了嗎?我想這是邏輯,我將需要負責:)
而不是編輯的回答你的問題,請添加一個答案,並接受它,你的問題就不會再顯示在一系列懸而未決的問題了 - 謝謝。 –
只是爲有類似問題的人提供的一張紙條。我發現通常當我在'onStartCommand()'上發現'intent'爲'null'的錯誤時,它是由LogCat在此之前可見的其他錯誤引起的。我不知道爲什麼,但這是我觀察到的,很容易忽略它。 –
@DaleWilson我會但這個問題沒有真正解決。直到我收到關於Intent爲什麼爲null或者如何避免使用START_REDELIVER_INTENT(我後來知道這並不是我所需要的,但仍然會解決某些人的問題,因此我離開了我的編輯)的空意圖的明確答案之前,我無法接受答案。 – rf43