如何确保 iOS 正确挂起 Xamarin Forms 应用程序AVAudioSessionCategoryPlayback 模式以防止电池耗尽?

问题描述

我有一个在 AVAudioSessionCategory = Playback 模式下运行的 Xamarin Forms 应用程序,它工作得非常好,后台音频正在播放,甚至我的计时器也在后台运行,这在播放过程中很好。

如何确保在用户决定停止播放音频后(通过按下应用程序内的按钮或按下锁定屏幕上的暂停按钮),我的应用程序将进入暂停状态,并且它不会没电了?

有没有办法强制我的应用暂停或验证它是否已暂停?

附带说明:在 App.xaml.cs 中挂钩 OnSleep 方法是不够的,因为每次应用程序进入后台时都会调用它,即使它正在播放音频,我的计时器正在运行,HTTP 调用工作,等

更新

今天有了一个有趣的发现:

  • 在调试模式下(通过 WiFi)从 Visual Studio 启动应用时,计时器会在后台继续运行。
  • 当应用在发布模式下进入后台时,计时器似乎会被操作系统 (iOS) 自动暂停。

我的结论是:也许整个问题都出在 Xamarin 添加到应用程序中以确保 Visual Studio 和应用程序之间的通信的“框架”中的某个地方? (控制台、断点等)这将是一个合乎逻辑的解释。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)