先说下大坑出现的背景,我要实现一个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:
1.Android10开始,系统平台的安全性得到了进一步的增强。开始采用沙盒模式、分区存储了!但是在Android10的时候,可以通过配置requestLegacyExternalStorage标记来禁用分区存储的特性,但在Android11之后,文档明确告诉你,配置无效。系统会<