2011-10-06 61 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()上传递了一个值,如果不是则表示它抛出空指针异常。