相关疑难解决方法(0)

在onStartCommand中传递的Intent为NULL的原因

onStartCommand(Intent, int, int)除了系统通过诸如START_STICKY?之类的标志重新启动服务之外,传递给它的Intent是否还有其他原因是NULL ?

此外,当系统重新启动服务时,该Intent.getAction()方法有时返回NULL ... Intent不仅仅是NULLgetAction()

也在这里问过,但还没有得到答案.

UPDATE:马克·墨菲聊天后,他建议我返回START_REDELIVER_INTENTonStartCommand()回调在我的服务,而不是START_STICKY使整个意图在重新启动发送.

我最初没有这样做,因为我担心如果服务试图做某事,那么在服务重新启动的那个中间......它会认识到它开始做那件事吗?我想这是逻辑我需要负责:)

android android-intent android-service

95
推荐指数
1
解决办法
2万
查看次数

在onHandleIntent()中,Intent怎么可能为null?

我的Android应用程序崩溃,这是logcat: -

java.lang.NullPointerException
    at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:194)
    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.os.HandlerThread.run(HandlerThread.java:60)
Run Code Online (Sandbox Code Playgroud)

我查看了android gcm r3源码,发现onHandleIntent()中的参数intent为null.

这甚至可能吗?怎么解决?

(我知道Service.onStartCopmmand返回时可以看到null意图,START_STICKYIntentService.onStartCommand不会使用START_STICKY.)

android google-cloud-messaging

20
推荐指数
1
解决办法
2443
查看次数