我正在构建使用 flutter_pllayout 的应用程序和 adhara_socket_io
应用场景
当应用程序启动时,它连接到一个套接字并在随机时间继续接收音频 url,然后它播放这个 url,它在 android 上工作正常
问题
但是在 iOS 中,当用户切换到主页或任何其他应用程序时(当我的应用程序在后台时)它似乎关闭了套接字的连接并在应用程序进入前台时继续,有什么办法可以保持套接字连接打开?
最佳答案
iOS 上的后台任务非常有限。仅当您使用正确的 Info.plist 详细信息不断播放音频时才有效。
如果您想要经常性(cron 作业任务)客户端,请使用:BGTaskScheduler (对于 iOS),另一种选择是使用 cron 作业触发推送通知任务(您甚至可以为此使用 Firebase Functions)服务器端。
官方文档:BFTaskScheduler , Background Behavior iOS , Enabling Background Audio
不,套接字连接不能一直保持打开状态(即使在最新版本的 Android 操作系统上也是如此)。同样,使用 cron 作业任务来实现类似的行为。
关于sockets - flutter : keep socket io open while app in background (IOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61012409/