除了系统通过像
另外,当系统重新启动服务时,
我在此处也提出了这个问题,但还没有收到答案。
更新:在我的服务中,Mark Murphy建议我在
我最初没有这样做,因为我担心如果服务正在尝试执行某些操作,那么在执行该操作的过程中重新启动服务...它会认识到它开始执行该操作吗?我想这是我需要负责的逻辑 :)
START_STICKY
这样的标志重新启动服务之外,在传递给onStartCommand(Intent, int, int)
的Intent为空的其他原因吗?另外,当系统重新启动服务时,
Intent.getAction()
方法有时会返回NULL...但Intent不为NULL,只有getAction()
为空。我在此处也提出了这个问题,但还没有收到答案。
更新:在我的服务中,Mark Murphy建议我在
onStartCommand()
回调中返回START_REDELIVER_INTENT
而不是START_STICKY
,以便在重新启动后发送整个intent。我最初没有这样做,因为我担心如果服务正在尝试执行某些操作,那么在执行该操作的过程中重新启动服务...它会认识到它开始执行该操作吗?我想这是我需要负责的逻辑 :)
onStartCommand()
中得到“intent为null”的错误时,通常是由于此之前LogCat显示了某些其他的错误所致。我不知道为什么会这样,但这是我观察到的,并且很容易忽略它。 - Piotr Chojnacki