在Android文档中,服务的“onStartCommand()”具有一个 Intent ,称为param,根据文档:

“按照给定的方式提供给IntentstartService(Intent)。如果该服务在其进程结束后正在重新启动,并且以前返回了START_STICKY_COMPATIBILITY以外的任何内容,则该服务可能为null。”

但是,返回值START_REDELIVER_INTENT应该在重新启动服务时返回原始 Intent 。

任何人都可以解释,即使intent设置为flag,为什么START_REDELIVER_INTENT可以为空吗?

最佳答案

您是否可能将START_FLAG_REDELIVERYSTART_REDELIVER_INTENT混淆?您的帖子说,“返回值START_FLAG_REDELIVERY”。该常量不是从onStartCommand返回的值之一,而是作为onStartCommand参数传递到flags的位值之一。 START_FLAG_REDELIVERYSTART_STICKY的值均为1。如果您在return START_FLAG_REDELIVERY的末尾错误地添加了onStartCommand(),则如果没有启动推荐待处理,则该服务将以粘滞模式重新启动。

10-08 18:05