我有一段代码,我在其中进行服务器调用,并根据响应播放声音。现在,当我的应用程序在后台或我的设备被锁定时,这不起作用。
即使应用程序在后台或设备被锁定,有什么方法可以执行这段代码(服务器调用和响应处理)?
我有一段代码,我在其中进行服务器调用,并根据响应播放声音。现在,当我的应用程序在后台或我的设备被锁定时,这不起作用。
即使应用程序在后台或设备被锁定,有什么方法可以执行这段代码(服务器调用和响应处理)?
没有通用的解决方案,这是设计使然。(Apple 不希望您在后台运行潜在的 CPU 和电源密集型进程并降低用户体验。)
有一些有限的情况可供选择:
-[UIApplication beginBackgroundTaskWithExpirationHandler:]
在适当的方法中使用fromUIApplicationDelegate
来注册这样的任务。请注意,您完成任务的时间有限(但可观),我认为您无法在此模式下播放媒体。