停止前景行为和通知

gre*_*f82 6 android android-service

我在方法的开头和结尾都有一个intentServiceonHandleIntent()我一起打电话.当我打电话时,即使我指定保留它,也会删除通知.文件说:startForeground()stopForegroundstopForeground(false)

"如果你在服务仍然在前台运行时停止服务,那么通知也会被删除."

因此,当由于某种原因intentService调用stopSelf()服务再次处于前台状态时.正确行为的唯一方法是在之后创建新通知stopForeground(true).我错过了什么吗?

Pau*_*rke -2

IntentService当 中的工作完成后,An会自行停止onHandleIntent。如果IntentService已经停止,为什么要继续显示通知?听起来您应该使用常规的Service,您可以在其中控制对 的调用stopSelf

非常有道理的是,无论您是否拨打电话,通知都会通过拨打 来自动删除。服务完成了。stopSelfstopForeground

  • 因为通知中包含了结果,如果不删除也是一件好事。正如我所说,我在 onHandleIntent 结束之前调用 stopforeground 。此外,您的评论没有任何意义,因为如果我在 stopforeground 之后(然后在 stopSelf() 之前)发布通知,它就会起作用。 (4认同)