Android:完全在后台上传文件
Posted
技术标签:
【中文标题】Android:完全在后台上传文件【英文标题】:Android: upload files totally in background 【发布时间】:2015-05-27 12:39:25 【问题描述】:我必须创建一个多文件上传(3-7张照片),但是这个上传必须完全由系统管理,这样,即使用户关闭应用程序,它也应该工作到完成上传。
有点像Facebook,它上传一张照片,如果应用被杀:进度也会出现在通知栏中。
我目前使用一个类,我认为是 FtpClient,它运行良好,但如果我关闭应用程序,它就会停止。一切都是异步的,但仅适用于应用程序,而不适用于系统。
我该怎么做?
【问题讨论】:
【参考方案1】:这个库 - https://github.com/gotev/android-upload-service 2.3K 星 2020 年 4 月
" - 在后台轻松上传文件(开箱即用的多部分/二进制/FTP)并带有进度指示通知
-通过 FTP、HTTP 多部分/表单数据或二进制请求将文件上传到服务器
-在后台处理多个并发上传,即使设备处于空闲状态(打盹模式)
-自动重试失败的上传,带有可配置的指数退避 上传成功时自动删除上传文件的可能性
由该库提供支持的应用和库-
-JIRA 云
-知乎
...
"
【讨论】:
【参考方案2】:您应该为此使用Service
。它将在后台运行,您可以在其中完成所有上传/下载工作。您可以查看this 教程,也可以从官方文档here 和here 中阅读更多相关信息。
您可以将所有逻辑从Activity
/Fragment
移动到Service
,即使您的应用已关闭,它也会在后台执行。
【讨论】:
但是我可以向上传器添加多个文件吗?还是我需要创建一个 zip? 这完全取决于您的应用程序逻辑,与服务无关。您可以通过不同的方式实现上传。您可以在多个线程或多个服务中上传多个文件,或者将其打包成 zip - 这一切都取决于您想要实现的目的和目标。 Google 现在推荐 Work Manager:developer.android.com/guide/background以上是关于Android:完全在后台上传文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Afnetworking 在 ios 中在后台上传图像