最佳答案
除了系统通过 START_STICKY
这样的标志重新启动服务之外,是否还有其他原因导致传递给 onStartCommand(Intent, int, int)
的意图为 NULL?
此外,当系统重新启动服务时,Intent.getAction()
方法有时会返回 NULL。意图不仅仅是 getAction()
我也问了 给你,但还没有得到答复。
更新 : 在与 Mark Murphy 聊天后,他建议我在我的服务中返回 onStartCommand()
回调中的 START_REDELIVER_INTENT
,而不是 START_STICKY
,以便在重新启动后发送整个意图。
我一开始没有这样做是因为我担心如果服务正在尝试做某事,那么在这个过程中,服务被重新启动了... ... 它会意识到它开始做那件事吗?我想这就是我需要负责的逻辑:)