如何防止应用关闭时 startCommand 的意图返回 null
Posted
技术标签:
【中文标题】如何防止应用关闭时 startCommand 的意图返回 null【英文标题】:How to prevent intent of startCommand to return null when the app closed 【发布时间】:2019-03-13 15:20:36 【问题描述】:我正在我的应用程序中使用一项服务。该服务用于显示通知。当我启动它时,我会向服务发送附加内容。问题是,当我从后台删除应用程序窗口时,onStartCommand 方法会再次以空意图调用,因此额外内容不存在。所以我的问题是如何停止粘性服务?有没有可能?
【问题讨论】:
检查 Intent 是否有 extras,如果没有则忽略它? 这是您返回START_STICKY
时的预期行为。检查onStartCommand
可能返回值的文档以更改该行为。
我知道,但我需要想办法阻止它
【参考方案1】:
您可以通过在服务的 onPause() 或 onDestroy() 处调用 stopService(intent_of_your_service)
来停止 Stiky 服务。
这里,intent_of_your_service 是您在 onCreate() 中创建的 Intent,或者使用 stopSelf()
(即停止服务)来停止粘性服务。
【讨论】:
以上是关于如何防止应用关闭时 startCommand 的意图返回 null的主要内容,如果未能解决你的问题,请参考以下文章
iphone - 如何防止应用程序在下载数据时被阻止[关闭]