问题:
在安卓手机上实现保存图片的功能,部分手机保存失败。报了如图一的错误:
![]()file
根据报错信息是没有权限,但仔细在代码内检查是有申请到存储权限的,并且该功能在其他手机上没问题

实现流程:
仔细看我们的实现流程如图二所示:
![file
整个过程看上去都没问题。
但是在出现问题的手机上,使用device explorer确实访问访问不了storage/emulated/0/Pictures这个路径。在功能正常的手机,是可以访问这个路径的。
图三:功能异常的手机sd卡目录
![file
图四:功能正常的手机sd卡目录
file

解决
原因是在Android10上,分区存储的限制。

  • 1.目前应用直接采用的是Android10以下的存储方式,申请存储权限后将文件写入公共目录。但是在Android10上面,会推荐你将文件写入当前应用的外部私有存储,而不是直接通过自己写文件的方式去写入外部公共目录。
  • 2.或者将当前应用禁止分区存储 ,将android:requestLegacyExternalStorage="true" 加入manifest
  • 3.将应用的tagrget sdk 降到28及以下
本文由博客一文多发平台 OpenWrite 发布!

乔瑟琳
1 声望0 粉丝