Manifest.permission.READ_EXTERNAL_STORAGE 未解析引用问题求助
解决Manifest.permission.READ_EXTERNAL_STORAGE未解析引用问题
以下是几个可能的原因和对应的解决办法:
1. 缺少必要的导入语句
你的Kotlin代码文件顶部必须导入Android系统的Manifest类,否则IDE无法识别Manifest.permission下的权限常量。添加这行导入:
import android.Manifest
2. SDK版本适配问题(Android 13+)
如果项目的targetSdkVersion设置为33(Android 13)及以上,READ_EXTERNAL_STORAGE权限已被废弃,替换为更细分的媒体权限:
- 读取图片用
READ_MEDIA_IMAGES - 读取视频用
READ_MEDIA_VIDEO - 读取音频用
READ_MEDIA_AUDIO
由于你是要修改用户头像,只需替换为READ_MEDIA_IMAGES即可:
代码修改为:
foto.setOnClickListener{ if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_MEDIA_IMAGES)!= PackageManager.PERMISSION_GRANTED){ // 处理权限请求逻辑 } }
同时更新Manifest文件的权限声明:
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
3. IDE缓存或SDK缺失
有时Android Studio的缓存会导致假报错,尝试清理缓存重启:
- 点击菜单栏
File -> Invalidate Caches... -> Invalidate and Restart
另外,确认已在SDK Manager中下载了对应targetSdkVersion的Android SDK Platform,缺失SDK文件也会导致权限常量无法识别。
内容的提问来源于stack exchange,提问作者AFAV
相关产品推荐
相关产品推荐

