android - 前台服务启动一次并在点击时显示活动
问题描述
我的应用中有 5 个活动。每个活动都启动相同的前台服务。
在服务前台通知的 onStartCommand 方法中创建,不幸的是,这意味着在任何活动中每次调用 startForegroundService() 都会播放通知声音(即使服务已经在运行)。如何只创建一次前台通知,或者至少如何不在连续的 startForegroundService() 调用中播放通知声音?
另一个相关的问题是:当我点击前台通知时如何返回我的应用程序?我有 5 个活动,我想重新打开用户最后一次与之交互的活动。
解决方案
#1。在启动服务之前,只需检查它是否已经运行。在这种情况下,这将对您有所帮助https://stackoverflow.com/a/5921190/6413387
#2。要重新打开您上次打开的活动,您需要更新通知的待处理意图。希望您能在这里找到答案https://stackoverflow.com/a/20142620/6413387
推荐阅读
- python - Pandas 在空格和前 4 个连续数值之后将日志文件分成 2 列
- asp.net - 从后面的代码调用 javascript 无法按预期工作
- java - 如何将锁屏壁纸设置为实时壁纸
- iis - 用于标记的站点范围的 HTTP 标头
- mysql - 多值属性库存/数量的 MYSQL 表
- php - Doctrine 总是为现有实体启动 INSERT 而不是 UPDATE
- javascript - 如何在 PortalScript (ECMAScript5) 中为单元测试导出函数
- electron - 电子应用程序不启动,但电子生成器(dist)没问题
- r - 将计数转换为百分比
- angular-material - 错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值: