欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android P targetSdkVersion28 以上 MediaPlayer: Error (1,-2147483648)

程序员文章站 2022-06-15 16:26:59
...

问题: 由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉 导致mediaplayer 播放uri发生Error (1,-2147483648)
或者发生Error CLEARTEXT communication to not permitted by network security policy

解决:

1:在 res 下新建一个 xml 目录,然后创建一个名为:network_permission_config.xml 文件 ,该文件内容如下:

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

然后在 AndroidManifest.xml application 标签内应用上面的xml配置:

    <application
        android:name=".App"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_permission_config"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/AppTheme"></application>

2: targetSdkVersion 降级回到 27
3: 服务器和本地应用都改用 https (推荐)
4: AndroidManifest.xml application 标签内添加
android:usesCleartextTraffic=“true”
配置如下

    <application
        android:name=".App"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:usesCleartextTraffic="true"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/AppTheme"></application>
相关标签: android