我有一段代码,我在那里拨打服务器电话,并根据响应播放声音。现在,当我的应用程序处于后台或我的设备被锁定时,这不起作用。
即使应用程序处于后台或设备被锁定,我们是否可以执行此代码(服务器调用和响应处理)?
答案 0 :(得分:5)
没有通用解决方案,这是设计使然。 (Apple不希望您在后台运行潜在的CPU和功耗密集型流程,并降低用户体验。)
有几个有限的案例可供选择:
UIApplicationDelegate
方法中使用-[UIApplication beginBackgroundTaskWithExpirationHandler:]
来注册此类任务。请注意,您完成任务的时间有限(但可观),我认为您不能在此模式下播放媒体。