Android      android中创建目录或文件MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!   

Android10,11中因为文件管理权限更加严格出现的问题。
使用 File mkdirs 或 creatNewFile 时,代码执行但没有创建,系统日志
MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
调用目标文件时,直接报错 no such file or directory。

方案1:
targetSdkVersioncompileSdkVersion 改为小于 29,运行的时候就会找到相应版本的源码,相当于绕过Android 10新特性。
Androidmainfest.xml文件 的 application 添加:android:requestLegacyExternalStorage="true"

方案2:
targetSdkVersion仍旧大于等于29,新增权限
Androidmainfest.xml文件
application 添加 android:requestLegacyExternalStorage="true"
申请权限 <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

参考 https://www.jianshu.com/p/39a498a2e09c

- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设