null intent重新传递给Service onStartCommand()

时间:2015-12-08 07:25:18

标签: android android-intent service android-service android-intentservice

在Android文档中,服务的“onStartCommand()”的意图为param,根据文档提供:

“提供给Intent的{​​{1}},如果给定。如果服务在其进程消失后重新启动,则它可能为null,并且之前已返回除startService(Intent)之外的任何内容。“

但是,返回值START_STICKY_COMPATIBILITY应该在重新启动服务时返回原始意图。

有人解释为什么START_REDELIVER_INTENT可以为空,即使intent设置为flag

1 个答案:

答案 0 :(得分:2)

您是否可能会将START_FLAG_REDELIVERYSTART_REDELIVER_INTENT混淆?您的帖子说“返回值START_FLAG_REDELIVERY”。该常量不是从onStartCommand返回的值之一,它是作为onStartCommand参数传递到flags的位值之一。 START_FLAG_REDELIVERYSTART_STICKY的值均为1.如果您在return START_FLAG_REDELIVERY末尾错误地拥有onStartCommand(),则服务将以粘性模式重新启动,如果有没有开始赞扬未决。