Android Java:如何将活动中的值传递给通知栏

问题描述:

我开发了一个程序,它允许用户查看他们正在播放的歌曲的分贝读数。阅读总是使用onRunning方法进行更新。我想为我的应用程序发出通知,以便当用户退出应用程序时,状态栏仍然运行,并且状态栏上始终更改值。那可能吗?什么是概览解决方案流程?我之前没有碰到过服务,所以我只需要一个概述流程,然后再进入。谢谢!Android Java:如何将活动中的值传递给通知栏

你可以从herehere得到很多很好的信息。

此外我认为你想看看正在进行的通知

正在进行的通知让用户了解在后台一个持续的过程。例如,音乐播放器在通知系统中宣布当前正在播放的曲目,并继续这样做直到用户停止播放。它们也可以用来显示用户对较长时间任务的反馈,例如下载文件或编码视频。正在进行的通知无法手动从通知抽屉中删除。 玩得开心。

编辑:

这可能吗? - 是的。

什么是概述解决方案流程?

当您设置您的通知,您可以使用

public void notify (int id, Notification notification)

张贴通知,在状态栏中显示。如果具有相同ID的通知已由您的应用程序发布并且尚未取消,它将被更新的信息替换。

参数

id - 此通知的标识符在您的应用程序中是唯一的。

notification - 通知对象,描述向用户显示的内容。不能为空。

没错。您需要创建一个后台服务,即使在所有活动已终止后仍将继续运行。该服务应该有一个定期读取分贝并更新通知的线程。

要创建此类服务,应确保使用START_STICKY标志,或者将其作为单独的进程启动。通知应由服务(而不是活动)创建,并由服务中产生的线程更新。

您还应该有代码在服务终止时删除通知,否则即使您不再读取分贝,它也可能继续显示。