如果我使用startForeground(myID,不是)启动服务,可以在不停止前台进程的情况下替换另一个服务吗?我的意思是,我有一个服务在服务结束前会连续执行两个任务,并且我希望在第一次结束时通知用户,而不需要停止前台服务?Android前台服务通知替换
另外,是否有可能在没有通知(即NULL)的情况下启动前台服务。
任何stretegy我可以使用,而不是?谢谢。
如果我使用startForeground(myID,不是)启动服务,可以在不停止前台进程的情况下替换另一个服务吗?我的意思是,我有一个服务在服务结束前会连续执行两个任务,并且我希望在第一次结束时通知用户,而不需要停止前台服务?Android前台服务通知替换
另外,是否有可能在没有通知(即NULL)的情况下启动前台服务。
任何stretegy我可以使用,而不是?谢谢。
在NotificationManager
有方法cancel(int)
接收notificationId,所以你可以取消旧的通知并创建一个新的通知。
但问题是如果我取消传递给startForeground(id,not)的ID,它是否会将服务从前台返回到正常服务...... – Tibor 2011-12-15 14:22:49
您的问题的一般答案是使用NotificationManager.notify()方法在启动服务时使用传递给startForground()方法的相同ID。
另外值得注意:
请参考卢卡给出的答案和CommonsWare的答案下的讨论,以及Lorne Laliberte和dmmh给出的答案。
How do I update the notification text for a foreground service in Android?
Does updating a Notification remove a Service's foreground status?
它可以用NULL开始通知前台服务,但可能不会解决你的问题。 – 2017-08-29 20:32:30