HarmonyOS 鸿蒙Next 4下,使用request = DownloadManager.Request(uri)下载失败

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 4下,使用request = DownloadManager.Request(uri)下载失败

基于webview的文件下载的应用,打包apk后发现,鸿蒙4下手机下载不成功,小米等安卓手机能正常下载。
这会是什么问题?怎么调试这种应用?
另外如果使用鸿蒙5生成的鸿蒙安装包兼容鸿蒙4系统吗?

代码如下
@JavascriptInterface
fun download(url: String, filename: String) {
// 实现文件下载逻辑
val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
val uri = Uri.parse(url)
val request = DownloadManager.Request(uri)
.setTitle(“下载文件”)
.setDescription(“文件下载中…”)
.request.setAllowedOverMetered(true)
.setDestinationInExternalFilesDir(context, context.getString(R.string.app_name), filename)
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename) // 设置下载路径和文件名
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) // 显示下载通知
downloadManager.enqueue(request)

1 回复

在HarmonyOS 鸿蒙Next 4系统下,若您在使用DownloadManager.Request(uri)进行文件下载时遇到失败问题,这通常可能与多个因素有关,包括但不限于URI格式错误、网络权限配置不当、存储权限未授予、下载管理器配置错误或系统限制等。

首先,请确保您提供的URI是有效且可访问的。检查URI是否指向一个可下载的文件资源,且该资源在您的网络环境中是可访问的。

其次,确认您的应用已正确配置了网络访问权限和存储访问权限。在HarmonyOS中,这些权限通常在config.json文件中声明,并确保在运行时用户已授予这些权限。

此外,检查DownloadManager的配置是否正确,包括设置合适的请求头、允许的网络类型等。确保您的请求符合系统对下载任务的要求。

最后,考虑到HarmonyOS系统的更新可能引入新的安全策略或API变更,建议查阅最新的HarmonyOS开发文档,确认您的代码实现与最新规范保持一致。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部