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

猜你喜欢

转载自www.cnblogs.com/netcorner/p/12539298.html