Android前台服务通知替换

时间:2011-12-15 12:09:39

标签: android service notifications foreground

如果我使用startForeground(myID,而不是)启动服务,是否可以在不停止前台进程的情况下将not替换为另一个?我的意思是,我有一项服务,在服务结束前连续完成两项任务,我想在第一次结束时通知用户而不需要停止前台服务?

此外,是否可以在没有通知的情况下启动前台服务(即NULL)。

我可以使用任何stretegy而不是?感谢。

2 个答案:

答案 0 :(得分:1)

您的问题的一般答案是使用NotificationManager.notify()方法,使用在启动服务时传递给startForground()方法的相同ID。

另外值得注意的是:

  • 更新通知不会删除服务的前台 状态。
  • 您无法使用取消通知 NotificationManager.notify。相反,你必须调用stopForeground() 这也会删除服务的前台状态。

请参阅Luca给出的答案以及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?

答案 1 :(得分:-2)

NotificationManager中,有方法cancel(int)接收notificationId,因此您只需取消旧通知程序并创建一个新通知程序。