android - 下载管理器在 Android 9.0 NetworkSecurityConfig 上返回不成功下载:未指定网络安全配置,使用平台默认值
问题描述
我正在使用下载管理器从 Internet 下载文件。下载在 Android 6、8.1 中成功完成,但在 Android 9.0 中没有
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("Downloading...");
request.setTitle(nameOfFile);
request.setMimeType("application/pdf");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS + "/CPG", nameOfFile);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
queueId = manager.enqueue(request);
解决方案
这个标签对我有用
android:usesCleartextTraffic="true"
将此标签添加到应用程序
<application
android:name=".ApplicationClass"
android:allowBackup="true"
android:hardwareAccelerated="false"
android:usesCleartextTraffic="true"
解决方案2)
创建一个 XMLres/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在你的标签 Application 里面AndroidManifest.xml
android:networkSecurityConfig="@xml/network_security_config"
推荐阅读
- javascript - 将信息从一个浏览器窗口发送到另一个
- javascript - 如何将 React 数组转换为具有相同键和值的 JSON 对象?
- flutter - 我的应用程序 throws me 方法在 null 上调用
- swift - 根据 2 'onTap' 之间的持续时间触发 2 种不同的动作
- python - 如何使我的 .desktop 路径全球化?
- kotlin - 在不详尽的情况下使用 Kotlin 的作用域函数 with / when
- java - 按钮需要点击两次。任何想法为什么?
- javascript - D3.js(v5 或 v6):获取初始缩放位置和缩放以适应强制布局
- reactjs - 样式化组件未在 Chrome 中显示
- r - guide_coloursteps 中的意外 NA