2

我们有一个使用 MediaPlayer 在 Xamarin (Native Android App) 中开发的音乐应用程序 (mp3)。将列出应一首一首播放的歌曲列表。大约 10 分钟左右后,玩家停止。手机解锁后,播放器开始播放下一首曲目。似乎 Nougat Doze 以某种方式干预了 Player。如果我为我的应用手动禁用电池优化,则没有问题。

是否有任何解决此问题的方法,而不是让每个用户手动更改“电池优化”选项。我想知道 Spotify 等其他应用程序如何在不更改任何设置的情况下连续播放歌曲。请帮忙!

4

1 回答 1

1

任何包含正在运行的前台服务的进程都不会被考虑用于打盹模式。这就是 Spotify 和 Google Play Music 等应用所使用的。考虑创建一个相关的前台服务——它会在前台服务运行时显示在通知屏幕中,因此会出现一个虚拟服务。

另一种选择是请求REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限,然后启动一个ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS意图,这会将用户带到您的应用的电池优化屏幕。这是一种不太出色的用户体验,但不需要创建您可能不需要的前台服务。

于 2017-01-30T05:04:06.263 回答