即使用户杀死应用程序,NSURLSessionDownloadTask 也会继续下载
Posted
技术标签:
【中文标题】即使用户杀死应用程序,NSURLSessionDownloadTask 也会继续下载【英文标题】:NSURLSessionDownloadTask continue downloading even if user kills the App 【发布时间】:2016-02-01 14:30:05 【问题描述】:在Background Fetch Utility
中,当应用处于后台、挂起或未运行状态时会发生数据轮询。如果它被挂起,系统会唤醒它以运行后台任务。如果它没有运行,应用程序将在后台启动。因此,系统会唤醒我的应用并自动拉取数据。
但是,我的要求有所不同,但有点匹配。我不知道如何将两者联系起来。我正在使用NSURLSessionDownloadTask
下载文件,它会在下次启动时恢复,完全没有问题。但是,即使用户退出应用程序,我的下载也应该继续。我知道Background Fetch
和NSURLSessionDownloadTask
是完全不同的东西,但我真的不知道如何实现这一目标?
可行吗?如果是,我该怎么做?
【问题讨论】:
【参考方案1】:一旦应用被杀死,什么都不会发生。不执行任何代码。我们可以开始下载进度的唯一时间是后台获取,并且仅在操作系统确定的时间发生。
Background Fetch Utility
只是唤醒 App 片刻,操作系统给了我们有限的时间(10 秒)来通过请求服务器来执行更新数据之类的任务。我们的 App 多久唤醒一次? — 该时间可能由操作系统或我们定义。
结论: App被杀后无法继续下载。我们可以使用Background Fetch Utility
在 10 秒的时间范围内定期下载文件。但是,无法在后台连续下载..
【讨论】:
以上是关于即使用户杀死应用程序,NSURLSessionDownloadTask 也会继续下载的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息服务 - 即使应用程序被杀死也能接收通知