在Android文檔空意圖,服務的「onStartCommand()
」具有給定爲一個param
的意圖的是,根據該文檔:重新傳送到服務onStartCommand()
「的Intent
供給到startService(Intent)
,給出此。如果該服務在其進程已經消失後正在重新啓動,則它可能爲空,並且之前已返回除START_STICKY_COMPATIBILITY
之外的任何內容。「
但是,返回值START_REDELIVER_INTENT
應該在重新啓動服務時返回原始意圖。
任何人都可以解釋爲什麼intent
可以爲空,即使flag
設置爲START_REDELIVER_INTENT
?
+1:我正在觀察相同的行爲:START_REDELIVER_INTENT給出空意圖。但是,大多數設備都是阿爾卑斯山,特克諾和維科等知名品牌。到目前爲止我還沒有看到任何主流品牌。 –
其實,看看其他一些問題,我發現Google自己的com.google.android.gms.measurement.AppMeasurementService在** Itel **設備上的onStartCommand()中的NullPointerException中崩潰。看起來他們做了一個intent.getAction()而不檢查intent是否爲空。他們使用START_NOT_STICKY服務不應該重新啓動(應避免空意圖)。 –