我有一个 intentService
,在 onHandleIntent()
中,我在开始时调用了 startForeground()
并在 stopForeground
在方法的末尾。当我调用 stopForeground(false)
时,即使我指定保留它,通知也会被删除。文档说:
“如果您在服务仍在前台运行时停止该服务,则通知也会被删除。”
因此,当 intentService
出于某种原因调用 stopSelf()
时,服务似乎再次处于前台状态。正确行为的唯一方法是在 stopForeground(true)
之后创建一个新通知。我错过了什么吗?
最佳答案
当 onHandleIntent
中的工作完成时,IntentService
会自行停止。如果 IntentService
已停止,您为什么要继续显示通知?听起来您应该使用常规的 Service
,您可以在其中控制对 stopSelf
的调用。
无论您是否调用 stopForeground
,通过调用 stopSelf
自动删除通知 是完全合理的。服务完成。
关于android - 停止前台行为和通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448320/