在Android文档中,服务的“onStartCommand()
”具有一个 Intent ,称为param
,根据文档:
“按照给定的方式提供给Intent
的startService(Intent)
。如果该服务在其进程结束后正在重新启动,并且以前返回了START_STICKY_COMPATIBILITY
以外的任何内容,则该服务可能为null。”
但是,返回值START_REDELIVER_INTENT
应该在重新启动服务时返回原始 Intent 。
任何人都可以解释,即使intent
设置为flag
,为什么START_REDELIVER_INTENT
可以为空吗?
最佳答案
您是否可能将START_FLAG_REDELIVERY与START_REDELIVER_INTENT混淆?您的帖子说,“返回值START_FLAG_REDELIVERY
”。该常量不是从onStartCommand返回的值之一,而是作为onStartCommand
参数传递到flags
的位值之一。 START_FLAG_REDELIVERY
和START_STICKY
的值均为1。如果您在return START_FLAG_REDELIVERY
的末尾错误地添加了onStartCommand()
,则如果没有启动推荐待处理,则该服务将以粘滞模式重新启动。