解决Android13/targetSdk 33无法读取/storage/emulated/0/文件的问题【 file not found最新解决办法】

        先说下大坑出现的背景,我要实现一个GIS常规功能--加载shape文件进地图,shape文件我是存放在安卓的外部公共存储空间Download中,可是真机调试,无论如何也无法获取到这个shp文件,提示的错误如下:

加载异常:com.esri.arcgisruntime.ArcGISRuntimeException: Unknown error.: Shape file not found: /storage/emulated/0/Download/Export_Output39.shp

        这就十分迷惑了,明明在这里却访问不到,猜测大概率就是权限问题。我又用代码测试,向Download目录中写入txt文本,之后再读取txt文本内容,发现没有问题。woc!!!于是乎开始研究安卓新版本权限修改问题。

废话不多少,先列原因,后面给出解决办法。

目录

原因---Scoped Storage:

解决办法:

Java版本:

kotlin版本:

参考文献:

总结:



原因---Scoped Storage:

        1.Android10开始,系统平台的安全性得到了进一步的增强。开始采用沙盒模式、分区存储了!但是在Android10的时候,可以通过配置requestLegacyExternalStorage标记来禁用分区存储的特性,但在Android11之后,文档明确告诉你,配置无效。系统会<

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦_恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值