Android Java:如何将活动中的值传递给通知栏
问题描述:
我开发了一个程序,它允许用户查看他们正在播放的歌曲的分贝读数。阅读总是使用onRunning方法进行更新。我想为我的应用程序发出通知,以便当用户退出应用程序时,状态栏仍然运行,并且状态栏上始终更改值。那可能吗?什么是概览解决方案流程?我之前没有碰到过服务,所以我只需要一个概述流程,然后再进入。谢谢!Android Java:如何将活动中的值传递给通知栏
答
此外我认为你想看看正在进行的通知
正在进行的通知让用户了解在后台一个持续的过程。例如,音乐播放器在通知系统中宣布当前正在播放的曲目,并继续这样做直到用户停止播放。它们也可以用来显示用户对较长时间任务的反馈,例如下载文件或编码视频。正在进行的通知无法手动从通知抽屉中删除。 玩得开心。
编辑:
这可能吗? - 是的。
什么是概述解决方案流程?
当您设置您的通知,您可以使用
public void notify (int id, Notification notification)
张贴通知,在状态栏中显示。如果具有相同ID的通知已由您的应用程序发布并且尚未取消,它将被更新的信息替换。
参数
id - 此通知的标识符在您的应用程序中是唯一的。
notification - 通知对象,描述向用户显示的内容。不能为空。
答
没错。您需要创建一个后台服务,即使在所有活动已终止后仍将继续运行。该服务应该有一个定期读取分贝并更新通知的线程。
要创建此类服务,应确保使用START_STICKY
标志,或者将其作为单独的进程启动。通知应由服务(而不是活动)创建,并由服务中产生的线程更新。
您还应该有代码在服务终止时删除通知,否则即使您不再读取分贝,它也可能继续显示。