首页 > 解决方案 > 前台服务启动一次并在点击时显示活动

问题描述

我的应用中有 5 个活动。每个活动都启动相同的前台服务。

在服务前台通知的 onStartCommand 方法中创建,不幸的是,这意味着在任何活动中每次调用 startForegroundService() 都会播放通知声音(即使服务已经在运行)。如何只创建一次前台通知,或者至少如何不在连续的 startForegroundService() 调用中播放通知声音?

另一个相关的问题是:当我点击前台通知时如何返回我的应用程序?我有 5 个活动,我想重新打开用户最后一次与之交互的活动。

标签: androidandroid-serviceandroid-notifications

解决方案


#1。在启动服务之前,只需检查它是否已经运行。在这种情况下,这将对您有所帮助https://stackoverflow.com/a/5921190/6413387

#2。要重新打开您上次打开的活动,您需要更新通知的待处理意图。希望您能在这里找到答案https://stackoverflow.com/a/20142620/6413387


推荐阅读