HarmonyOS request.agent.create 下载任务恢复问题

使用 request.agent.create api 创建下载任务,再使用 request.agent.getTask(context, taskId) 获取任务并恢复任务。

测试结果:

1. 当 App 关闭时 task 处于 pause 状态, App 重启后 可通过本地缓存的 taskId 查询到任务 并且进行恢复。

2. 当 App 关闭时, task 处于正在运行的状态,App 重启后 根据本地缓存的 taskId 查询任务失败 失败message 为 Failed to query a download task, Code: 21900006, message: task not found error。

针对以上问题,希望 request.agent api 能够在 App 重启之后查询所有未完成的任务,进行恢复 或者有其他 能够实现该功能的 API。

HarmonyOS
2024-08-10 11:18:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

在退出App的时候,文件还处于下载状态,所以重启App后,恢复下载任务状态出错您可以在退出前把下载任务暂停掉,再次重启后就可以正常恢复下载了在UIAbility实例销毁之前,会先进入onWindowStageDestroy()回调,一般在该回调中释放UI资源。Destroy状态在UIAbility实例销毁时触发。可以在onDestroy()回调中进行系统资源的释放、数据的保存等操作。所以暂停下载的操作应该放在onDestroy()回调中。具体可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/uiability-lifecycle-0000001820999597在执行完onDestroy生命周期回调后,应用可能会退出,从而可能导致onDestroy中的异步函数未能正确执行,比如异步写入数据库。可以使用异步生命周期,以确保异步onDestroy完成后再继续后续的生命周期。所以使用async onDestroy()来暂停下载操作是没有问题的。具体可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-app-ability-uiability-0000001774120870

分享
微博
QQ
微信
回复
2024-08-10 18:15:21
相关问题
如何设置request.agent.Config中saveas参数
601浏览 • 1回复 待解决
使用request下载文件的方式
798浏览 • 1回复 待解决
request.download()方法支持后台下载么?
4269浏览 • 1回复 待解决
request下载文件不能覆盖现有文件
1836浏览 • 1回复 待解决
软件下载问题 软件下载问题!?!
5696浏览 • 1回复 待解决
如何查询系统下载任务并进行管理
1711浏览 • 1回复 待解决
Web组件如何发起一个下载任务
448浏览 • 1回复 待解决
HarmonyOS 文件下载保存问题
50浏览 • 1回复 待解决
request和requestInStream的使用边界问题
2649浏览 • 1回复 待解决
HarmonyOS关于下载到缓存目录的问题
585浏览 • 1回复 待解决
HarmonyOS request.downloadFile报错
876浏览 • 1回复 待解决