我们正在开发一个 Android 应用程序,其中需要以异步方式将多张照片上传到我们的服务器。考虑一下,一旦拍摄了照片,它将开始上传。上传完成后,下一个(所有这些都将排入队列)将开始上传。
但是,支持取消功能也很重要,这意味着用户可以通过从队列中删除图像甚至取消正在运行的上传的方式与应用程序交互。
在寻找可能的解决方案后,我们得出了以下可能的场景:
1) 使用 IntentService 作为队列机制,并在其中实现我们自己的逻辑。但是,对于支持取消的难易程度存在一些担忧。
2) 使用 SD 卡和本地数据库来存储文件和服务来检查新文件。此处已对此进行了描述: Android(或iOS)-图像上传队列
3)想办法使用内置的Android DownloadManager进行上传(真的可以做到吗?)
4) 使用 AsyncTask 和 isCancelled() 函数。
5) 或者理想情况下找到另一个内置的 Android/Java 机制以无缝方式完成上述所有工作。
有任何想法吗?