不断聆听在奥利奥(Oreo)中播放的音乐

时间:2018-08-23 17:47:10

标签: android android-service android-8.0-oreo android-audiomanager

我有一项服务,该服务使用AudioManager连续收听带有isMusicActive的单独音乐应用程序中播放的音乐。这意味着该服务需要始终在后台运行。基本上,该应用程序的目的是跟踪听音乐所花费的时间。

我一直在棉花糖上使用它,现在我想在Oreo上实现相同的功能,但是由于对后台服务的限制,似乎没有办法做到这一点。我无法使用前台服务,因为音乐应用程序将在前台。这是创建自己的音乐应用程序的唯一解决方案吗?

1 个答案:

答案 0 :(得分:1)

在没有系统帮助的情况下,您最好的机会是使用前台服务。

  

我无法使用前台服务,因为音乐应用将位于   前景

您可以,只要服务处于前台状态,您只需要显示一条通知即可。

后台任务限制背后的比例是,用户应该以某种方式意识到自己正在运行,而任务以24/7的速度运行会对电池产生巨大的影响。

您可能想要实现的目标还有其他选择。您可以设置一个定期计时器(例如,每5分钟一次),然后检查音乐是否仅按一定间隔播放。您可能仅基于间隔的观察进行粗略的估计。例如。如果您检测到音乐连续播放3次并且间隔为5分钟,那么您算出的收听时间约为15分钟。