Android 11新存储行为变更及老版本升级适配

本文讲述了在Android 11中遇到的存储权限适配问题,由于Android 11的存储行为变更,项目组决定继续在外部公有目录读写文件。在尝试使用特定标签后发现该标签导致无法上架Google Play。于是采用新方案,包括在应用专属目录进行文件操作,并迁移旧版数据。详细讨论了内部和外部专属存储空间的使用,以及处理存储空间满的情况。同时介绍了Android 11中针对旧版存储模型的迁移策略和文件数据迁移的代码实现。

上周开发项目的时候,做了Android11存储方案升级适配,因为之前创建的文件是在外部公有目录下,为了延续老用户的使用习惯,项目组决定继续在外部公有目录下写入、读取文件的方案。为了拿到相应的访问权限,用到了下面这个标签。

    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

官方文档上也有介绍,我这里截取了关键部分

做了相关编码后,本以为就万事大吉了,哪成想Google Play上不去。原因是因新冠疫情,对这个标签的适配延后到2021年初。所以现阶段带这个标签的APP上不了Google Play。(这是个人经历,不具有权威性)

现在开始采用第二种方案进行开发,主要有两点:

1.在Android11平台上在应用专属目录存储下进行文件的读、写;

2.将旧版公有目录下的数据迁移到新的专属目录中;

(一)

针对第一点,有两个可用区域:内部专属存储空间外部专属存储空间

内部专属存储空间目录是这样的:/data/user/0/packagename/files。

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值