Android 明明有权限,还报java.io.FileNotFoundException: /XXX.jpg: open failed: EACCES (Permission denied)

你好!

原因

Android 10(API 级别 29)引入了多项功能和行为变更,目的是更好地保护用户的隐私权。具体变更请跳转:
https://developer.android.google.cn/about/versions/10/privacy/changes

在这里插入图片描述
android Q 规定了APP有两种外部存储空间视图模式:Legacy View、Filtered View。采用了新的分区储存权限,老的存储权限READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE废弃,替换成新的存储权限android.permission.READ_MEDIA_AUDIO、android.permission.READ_MEDIA_IMAGES和android.permission.READ_MEDIA_VIDEO,并且只提供了多媒体文件的读权限,未提供写权限,现在应用没有权限直接删除别的应用生成的任何文件,包括多媒体文件。

解决方案

1.自降版本 compileSdkVersion <= 27 (当然这个不建议,毕竟要跟随潮流)
2.在清单文件AndroidManifest.xml中添加 : android:requestLegacyExternalStorage=“true” (指定分区按照以前的模式,也不是长久处理方式)
3.作用域存储:
https://blog.csdn.net/chaseDreamer_/article/details/121196432

我是入梦,谢谢你的观看我的博客,觉着好用的话,麻烦帮忙点个赞呗,谢谢啦~ 如果有什么错误,请随时联系我噢~QQ:897589417

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值