下载管理器在 Android Pie 9.0 NetworkSecurityConfig 中不起作用:未指定网络安全配置,使用平台默认值 [英] Download Manger not working in Android Pie 9.0 NetworkSecurityConfig: No Network Security Config specified, using platform default

查看:51
本文介绍了下载管理器在 Android Pie 9.0 NetworkSecurityConfig 中不起作用:未指定网络安全配置,使用平台默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在将设备操作系统更新到 Android 9.0 后,以前此代码运行良好(小米 A2).现在,不会在 Android Pie 9.0 上下载文件.

On updating the device OS to Android 9.0, previously this code was working fine(Xiaomi mi A2). Now, files are not being downloaded on Android Pie 9.0.

此外,它在奥利奥、牛轧糖、棉花糖中运行良好

这是代码片段:

File myDir = new File(Environment.getExternalStorageDirectory(), "MyApp");
        if (!myDir.exists()) {
            myDir.mkdirs();
        }
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
                Locale.getDefault()).format(new Date());
        DownloadManager mgr = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
        Uri downloadUri = Uri.parse(url);
        DownloadManager.Request request = new DownloadManager.Request(
                downloadUri);
        request.setAllowedNetworkTypes(
                DownloadManager.Request.NETWORK_WIFI
                        | DownloadManager.Request.NETWORK_MOBILE).setAllowedOverMetered(true)
                .setAllowedOverRoaming(true).setTitle("Downloading demo file").
                setVisibleInDownloadsUi(true)
                .setDestinationInExternalPublicDir(folder_main + "/", timeStamp);

        mgr.enqueue(request);

logcat 中的错误:

11-27 11:17:28.056 4062-2814/? D/DownloadManager: [3970] Starting
11-27 11:17:28.067 4062-2814/? W/DownloadManager: [3970] Stop requested with status HTTP_DATA_ERROR
11-27 11:17:28.068 4062-2814/? D/DownloadManager: [3970] Finished with status WAITING_TO_RETRY
11-27 11:18:06.466 4062-2843/? D/DownloadManager: [3970] Starting
11-27 11:18:06.576 4062-2843/? W/DownloadManager: [3970] Stop requested with status HTTP_DATA_ERROR
11-27 11:18:06.577 4062-2843/? D/DownloadManager: [3970] Finished with status WAITING_TO_RETRY
11-27 11:19:06.581 4062-2867/? D/DownloadManager: [3968] Starting
11-27 11:19:06.737 4062-2867/? W/DownloadManager: [3968] Stop requested with status HTTP_DATA_ERROR
11-27 11:19:06.738 4062-2867/? D/DownloadManager: [3968] Finished with status WAITING_TO_RETRY
11-27 11:19:19.131 4062-2869/? D/DownloadManager: [3970] Starting
11-27 11:19:19.144 4062-2869/? W/DownloadManager: [3970] Stop requested with status HTTP_DATA_ERROR
11-27 11:19:19.144 4062-2869/? D/DownloadManager: [3970] Finished with status WAITING_TO_RETRY
11-27 11:19:36.243 4062-2872/? D/DownloadManager: [3969] Starting
11-27 11:19:36.259 4062-2872/? W/DownloadManager: [3969] Stop requested with status HTTP_DATA_ER

任何帮助将不胜感激.谢谢

Any help would be appreciated. Thanks

推荐答案

今天小米米A2收到软件更新通知后,这对我有用.

This worked for me After Xiaomi mi A2 received software update notification today.

什么对我有用

application标签中添加android:networkSecurityConfig="@xml/network_security_config"

<application
        android:name=".ApplicationClass"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

其中 network_security_config.xml

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

res目录下创建xml,然后在xml文件夹下创建network_security_config.xml,如下图

Create xml under res directory and then network_security_config.xml in xml folder like in the picture below

这说明了软件中的问题

这篇关于下载管理器在 Android Pie 9.0 NetworkSecurityConfig 中不起作用:未指定网络安全配置,使用平台默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆