Android10(API 29)getExternalStorageDirectory没权限解决
在Android开发时,一般我们使用以下代码获取储存路径,获取到的结果一般是/storage/emulated/0
Java
Environment.getExternalStorageDirectory().getAbsolutePath()
然而在Android10(API 29)以后获取到这个路径获取,发现却没有权限访问,无论你在AndroidManifest.xml文件中加上对应的权限还是使用ActivityCompat.requestPermissions动态申请到权限还是没有解决!
百度些久,发现都是比较旧的信息,根本解决不了问题,于是看下官方的文档,马上解决了。
解决方法:
在AndroidManifest.xml文件中application节点中加上android:requestLegacyExternalStorage="true"属性就可以了,如下:
Markup
<application
android:requestLegacyExternalStorage="true"
参考官方文档: https://developer.android.google.cn/training/data-storage/compatibility