Xamarin MediaPlayer 被 Android 休眠模式中断
Xamarin MediaPlayer interrupted by Android Doze Mode
我们有一个使用 MediaPlayer 在 Xamarin(本机 Android 应用程序)中开发的音乐应用程序 (mp3)。将会有应该一首接一首播放的歌曲列表。大约 10 分钟后,播放器停止。 phone 解锁后,播放器开始播放下一首曲目。 Nougat Doze 似乎以某种方式干预了玩家。如果我为我的应用程序手动禁用电池优化,则没有问题。
是否有解决此问题的方法,而不是让每个用户手动更改 'Batter Optimization' 选项。我想知道 Spotify 等其他应用程序如何在不更改任何设置的情况下连续播放歌曲。请帮忙!
任何包含 运行 前台服务的进程都不会考虑打瞌睡模式。这就是 Spotify 和 Google Play Music 等应用程序所使用的。考虑创建相关的前台服务 - 当前台服务为 运行 时,它会显示在通知屏幕中,因此虚拟服务会突出显示。
另一种选择是请求 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
权限,然后启动 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
意图,这会将用户带到您应用的电池优化屏幕。这是一种 less-than-stellar 用户体验,但不需要创建您可能不需要的前台服务。
我们有一个使用 MediaPlayer 在 Xamarin(本机 Android 应用程序)中开发的音乐应用程序 (mp3)。将会有应该一首接一首播放的歌曲列表。大约 10 分钟后,播放器停止。 phone 解锁后,播放器开始播放下一首曲目。 Nougat Doze 似乎以某种方式干预了玩家。如果我为我的应用程序手动禁用电池优化,则没有问题。
是否有解决此问题的方法,而不是让每个用户手动更改 'Batter Optimization' 选项。我想知道 Spotify 等其他应用程序如何在不更改任何设置的情况下连续播放歌曲。请帮忙!
任何包含 运行 前台服务的进程都不会考虑打瞌睡模式。这就是 Spotify 和 Google Play Music 等应用程序所使用的。考虑创建相关的前台服务 - 当前台服务为 运行 时,它会显示在通知屏幕中,因此虚拟服务会突出显示。
另一种选择是请求 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
权限,然后启动 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
意图,这会将用户带到您应用的电池优化屏幕。这是一种 less-than-stellar 用户体验,但不需要创建您可能不需要的前台服务。