一个bug引发的Android分区存储的思考

问题: 在安卓手机上实现保存图片的功能,部分手机保存失败。报了如图一的错误: 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 发布!

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值