2011-10-06 60 views
1

我有一個小部件,通過onStart()引用意圖的服務來更新。經過一段時間的使用其他應用程序後,似乎Android系統重新啓動服務,大概是在某些資源管理能力下,將此意圖留空。在我在onStart(),我檢查空意圖:android:null意圖服務

public void onStart(Intent intent, int startId){ 

    if(intent != null){ 
     //do stuff 

    } else { 
     System.out.println("service restarted"); 
    } 

}

但我得到的條件語句一個NullPointerException。

處理這個問題的正確方法是什麼?該服務每小時運行一次警報,因此只需在系統重新啓動時運行updateAppWidget(我認爲...),但我不確定如何避免此空指針。

+0

爲什麼不嘗試在您的服務中使用onStartCommand()呢? –

+0

@NikolaDespotoski並返回START_STICKY_COMPATIBILITY? – aperture

+4

http://developer.android.com/reference/android/app/Service.html#START_FLAG_REDELIVERY –

回答

0

檢查您是否在putString()上傳遞了一個值,如果不是則表示它拋出空指針異常。