加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

安卓10.0版本文件读写,其他外部文件访问

(2023-06-20 19:37:08)
分类: androidios

存储读取权限,并且App动态获得了权限,在通过绝对路径打开文件时,也有可能出现 open failed: EACCES (Permission denied) 权限不足的错误。
这里官方文档的解释是:以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被赋予了对外部存储设备的分区访问权限(即分区存储)。此类应用只能看到本应用专有的目录(通过 Context.getExternalFilesDir() 访问)以及特定类型的媒体。
这种分区存储限制了应用通过绝对路径去打开文件,不能通过File file = new File(filePath)去打开,这类路径不具有直接内核访问权限。要访问此类文件,应用必须使用 MediaStore,并调用 openFile() 等方法。
如果不得不从绝对路径中打开文件,可以通过在 Manifest 的 application 标签里面加上



作者:嗯哼_e683
链接:https://www.jianshu.com/p/0c8942ea9955
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有