因为项目中需要选取手机中的文件操作,compileSdkVersion和targetSdkVersion直接从原来的27升级到目前最新的34,结果测试的时候发现,申请的文件读取权限都没有提示,手机当前的版本是Android 13,找了很多地方,终于在这儿找到了 ,感谢这位大哥。记一个 Android 14 适配引发的Android 存储权限问题
简单描述一下,之前在Android 11 的时候需要申请一个文件管理权限
MANAGE_EXTERNAL_STORAGE,这个就先不说了,在Android 13上申请
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
这两个权限的时候,死活就是没有弹框提示,还直接显示权限已拒绝,在那位老哥的帮助下,终于找到了原因,在Android 13 上,媒体权限被细化了,上边那两个基本被弃用了。根据自己需要重新申请了一下。
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
先这样,后边遇到再更新。