【问题标题】:Android P , download does not start using download manager?Android P ,下载不开始使用下载管理器?
【发布时间】:2023-04-03 02:06:01
【问题描述】:

我正在尝试使用下载管理器下载文件,但下载似乎没有在 Android P 上开始(在模拟器上运行)。它在 Android Oreo 和 Android Marshmallow 上运行良好。这是代码。

DownloadManager.Request downloadRequest = new DownloadManager.Request(Uri.parse(URLS.URLforDownloadingFileData(fileName)));
        File file = new File(mobileInfo.getExternalFileStorageDirectory(),fileName);
        downloadRequest.setDestinationUri(Uri.fromFile(file));
        downloadRequest.setTitle(titleOfDownload);
        downloadRequest.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
        downloadManager.enqueue(downloadRequest);

知道为什么会发生这种情况以及如何解决这个问题吗?与 Android P 中引入的更改有什么关系?

【问题讨论】:

标签: java android android-8.0-oreo android-9.0-pie


【解决方案1】:

似乎您已经定义了NetworkSecurityPolicy 用于下载网址主机。 您可以通过创建 XML res/xml/network_security_config.xml 来检查它:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

然后在你的 AndroidManifest.xml 中的 Application 标签中引用这个文件:

android:networkSecurityConfig="@xml/network_security_config"

如果可行 - 强烈建议不要允许所有主机的流量,而只允许需要的流量。

【讨论】:

  • 不工作。W/DownloadManager:[204] 请求停止,状态为 HTTP_DATA_ERROR:不允许明文 HTTP 流量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多