android - 停止前台行为和通知

标签 android android-service

我有一个 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/

相关文章:

java - android - 服务需要互联网连接

android - 如何在框架布局中实例化 View ?

android - 如何从 broadcastReceiver 回调访问 MainActivity

安卓摄像头在后台

android - 接听或调用电话时 Toast 未出现

android - 无法恢复 Activity : not allowed to start service Intent, 应用程序在后台

android - Arduino Android 和 USB 主机 API

android - 有人知道 Android 4.1+ 离线语音识别 API 文档吗?

java - 如何在每次使用新值启动时重置倒计时器?

android - Android上最 "death-resistant"的组件是什么?