Android 10 改变了文件的存储方式不允许应用随意创建文件夹了,要用安卓提供的文件夹。
Android 10提供了一些文件夹:
例如:Context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS),这个路径是在SD卡的Android目录下的data目录下的自己应用包下的files目录下的 Environment.XXX,Environment.XXX代表的意思如下图
解决办法:
1.就用上述安卓提供的方法。
2.把targetSdkVersion 改为29之下
如果你的 应用 compileSdkVersion 为29 并且targetSdkVersion为29,就会使用29的最新源码编译和运行,如果降低targetSdkVersion在系统源码运行的时候就会找到相应的targetSdkVersion版本的源码这样就相当于绕过了Android 10新特性,然后在Androidmainfest 里面的application添加:android:requestLegacyExternalStorage="true"
申请允许使用旧的访问文件策略