在Android文档中,服务的“onStartCommand()
”的意图为param
,根据文档提供:
“提供给Intent
的{{1}},如果给定。如果服务在其进程消失后重新启动,则它可能为null,并且之前已返回除startService(Intent)
之外的任何内容。“
但是,返回值START_STICKY_COMPATIBILITY
应该在重新启动服务时返回原始意图。
有人解释为什么START_REDELIVER_INTENT
可以为空,即使intent
设置为flag
?
答案 0 :(得分:2)
您是否可能会将START_FLAG_REDELIVERY与START_REDELIVER_INTENT混淆?您的帖子说“返回值START_FLAG_REDELIVERY
”。该常量不是从onStartCommand返回的值之一,它是作为onStartCommand
参数传递到flags
的位值之一。 START_FLAG_REDELIVERY
和START_STICKY
的值均为1.如果您在return START_FLAG_REDELIVERY
末尾错误地拥有onStartCommand()
,则服务将以粘性模式重新启动,如果有没有开始赞扬未决。