al_downloader_flutter
al_downloader_flutter copied to clipboard
文件删除了无法重新下载
下载文件后,每次启动清理了历史下载,但再次下载时无法进行下载
I/flutter (15793): ALDownloader | _innerRemove, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.0.apk, but url's task is null
[log] 下载状态,下载前 ALDownloaderStatus.unstarted
I/flutter (15793): ALDownloader | _getTaskFromUrl, error = Bad state: No element
I/flutter (15793): ALDownloader | _addTaskOrUpdateTaskForUrl, error = Bad state: No element
I/flutter (15793): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files
I/flutter (15793): ALDownloader | a download task was generated, download status = enqueued, taskId = 87dcf0d8-8362-4dae-b5ac-5ebaa5359549
下载文件后,每次启动清理了历史下载,但再次下载时无法进行下载
I/flutter (15793): ALDownloader | _innerRemove, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.0.apk, but url's task is null [log] 下载状态,下载前 ALDownloaderStatus.unstarted I/flutter (15793): ALDownloader | _getTaskFromUrl, error = Bad state: No element I/flutter (15793): ALDownloader | _addTaskOrUpdateTaskForUrl, error = Bad state: No element I/flutter (15793): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files I/flutter (15793): ALDownloader | a download task was generated, download status = enqueued, taskId = 87dcf0d8-8362-4dae-b5ac-5ebaa5359549
你好,感谢反馈
一个协程里各个方法调用尝试加上await
:
await ALDownloader.initialize();
await ALDownloader.remove(url);
await ALDownloader.download(url);
似乎还是不行,最后一条日志似乎是执行完了下载任务
[log] 下载状态,下载前 ALDownloaderStatus.unstarted
I/flutter (27884): ALDownloader | Flutterdownloader | _loadAndTryToRunTask, tasks length = 1
I/flutter (27884): ALDownloader | Flutterdownloader | _loadAndTryToRunTask, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.1.apk, taskId = f1a63ec9-d1b7-49c9-8f0c-ff8834a8ed5b, status = DownloadTaskStatus(3)
2
I/flutter (27884): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files
I/flutter (27884): getAbsoluteVirtualPathOfFileWithUrl | filePath = /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files/al_flutter/al_unknown/546f65aa6b185a201334aaf3aa754206.apk
I/flutter (27884): ALDownloader | _loadAndTryToRunTask, tasks length = 1
I/flutter (27884): ALDownloader | _loadAndTryToRunTask, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.1.apk, taskId = f1a63ec9-d1b7-49c9-8f0c-ff8834a8ed5b, status = _ALDownloaderInnerStatus.complete
I/flutter (27884): ALDownloader | _getTaskFromUrl, error = Bad state: No element
I/flutter (27884): ALDownloader | _addTaskOrUpdateTaskForUrl, error = Bad state: No element
I/flutter (27884): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files
I/flutter (27884): ALDownloader | a download task was generated, download status = enqueued, taskId = ad3f7e81-cba7-4b39-9a13-1dfce37a7a83
[log] 按钮文案 下载中 - 3 -- progress
I/trustAllHosts(27884): checkServerTrusted
I/WM-WorkerWrapper(27884): Worker result SUCCESS for Work [ id=ad3f7e81-cba7-4b39-9a13-1dfce37a7a83, tags={ flutter_download_task, vn.hunghd.flutterdownloader.DownloadWorker } ]
似乎还是不行,最后一条日志似乎是执行完了下载任务
[log] 下载状态,下载前 ALDownloaderStatus.unstarted I/flutter (27884): ALDownloader | Flutterdownloader | _loadAndTryToRunTask, tasks length = 1 I/flutter (27884): ALDownloader | Flutterdownloader | _loadAndTryToRunTask, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.1.apk, taskId = f1a63ec9-d1b7-49c9-8f0c-ff8834a8ed5b, status = DownloadTaskStatus(3) 2 I/flutter (27884): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files I/flutter (27884): getAbsoluteVirtualPathOfFileWithUrl | filePath = /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files/al_flutter/al_unknown/546f65aa6b185a201334aaf3aa754206.apk I/flutter (27884): ALDownloader | _loadAndTryToRunTask, tasks length = 1 I/flutter (27884): ALDownloader | _loadAndTryToRunTask, url = https://static.eduzhixin.com/android-apks/forum/zhixinForum_1.0.1.apk, taskId = f1a63ec9-d1b7-49c9-8f0c-ff8834a8ed5b, status = _ALDownloaderInnerStatus.complete I/flutter (27884): ALDownloader | _getTaskFromUrl, error = Bad state: No element I/flutter (27884): ALDownloader | _addTaskOrUpdateTaskForUrl, error = Bad state: No element I/flutter (27884): _ALDownloaderFilePathManager | get external storage directory: /storage/emulated/0/Android/data/com.eduzhixin.appstore.zhixin_pad_appstore/files I/flutter (27884): ALDownloader | a download task was generated, download status = enqueued, taskId = ad3f7e81-cba7-4b39-9a13-1dfce37a7a83 [log] 按钮文案 下载中 - 3 -- progress I/trustAllHosts(27884): checkServerTrusted I/WM-WorkerWrapper(27884): Worker result SUCCESS for Work [ id=ad3f7e81-cba7-4b39-9a13-1dfce37a7a83, tags={ flutter_download_task, vn.hunghd.flutterdownloader.DownloadWorker } ]
请确认下执行[download]重新下载后,[_processDataFromPort]方法是否有持续执行并返回状态[status]和进度[progress]
应该是没有,重新安装再下载就可以了
嗯,好像是当文件下载完成以后,再remove ,progress = -1%, 然后再点击download 时 就会提示: flutter: ALDownloader | a download task was generated, download status = enqueued, taskId = com.example.example.download.background.1653703040.497849.43 flutter: ALDownloader | _getTaskFromUrl, error = Bad state: No element
remove后 download时 url is enqueued ,remove应该清空一下 enqueued url
下载队列中 只要有下载完成的任务,其他还在下载的就会unstart
嗯,好像是当文件下载完成以后,再remove ,progress = -1%, 然后再点击download 时 就会提示: flutter: ALDownloader | a download task was generated, download status = enqueued, taskId = com.example.example.download.background.1653703040.497849.43 flutter: ALDownloader | _getTaskFromUrl, error = Bad state: No element
remove后 download时 url is enqueued ,remove应该清空一下 enqueued url
remove会清掉url,download task was generated
是再下载时生成的新任务,符合预期。
问题出在重下载时flutter_downloader没有下载回执,这个问题在android某些设备上存在,目前还在排查中。
_removeAllAction() async { await ALDownloader.removeAll(); initialize(); }
这样就可以了
我也遇到了 单独下载后 清空不了 再次下载返回 Worker result SUCCESS for Work [ id=1971cf32-f2a4-4bbd-b031-881b05405918, tags={ flutter_download_task, vn.hunghd.flutterdownloader.DownloadWorker } ]