Android 在后台执行下载作业,同时允许用户继续使用我的应用

Android 在后台执行下载作业,同时允许用户继续使用我的应用,android,android-asynctask,android-download-manager,Android,Android Asynctask,Android Download Manager,这是在我的项目中出现的,我正在构建一个android应用程序,其功能之一是允许用户开始文件下载,文件将下载到我的服务器空间,然后批处理文件将处理下载文件,文件转换后,将文件上传到我的android设备,我如何实现这些功能 目前,我正在使用一个定制的http客户端在我的服务器上调用一个php脚本,触发下载,然后使用文件夹监视器扫描空间,如果发现任何新文件,处理它们,但我现在有两个问题: 1:在我的android站点上执行http请求时,如果文件很大(几MB),我的应用程序会挂起一段时间,这对用户不

这是在我的项目中出现的,我正在构建一个android应用程序,其功能之一是允许用户开始文件下载,文件将下载到我的服务器空间,然后批处理文件将处理下载文件,文件转换后,将文件上传到我的android设备,我如何实现这些功能

目前,我正在使用一个定制的http客户端在我的服务器上调用一个php脚本,触发下载,然后使用文件夹监视器扫描空间,如果发现任何新文件,处理它们,但我现在有两个问题:
1:在我的android站点上执行http请求时,如果文件很大(几MB),我的应用程序会挂起一段时间,这对用户不是很友好(aync-tast可能不适合在这里使用,因为文件不小,下载需要相当长的时间) 2:在服务器端生成我想要的文件后,我不知道如何使用程序上传到我的设备


有什么建议吗?

启动IntentService下载文件。IntentService已经在工作线程中调用OnHandleContent,所以您需要关心的是直接下载


对于1:如果任务需要一段时间。使用
线程
而不是
异步任务
。永远不要在UI线程上进行大型计算或耗时的任务-正如您所注意到的,这会让UI冻结。