android浏览系统分区,适配指导 | Android 10分区存储

4c07a0f4619fd9f45d74dc425b608901.png

上一篇介绍了Device ID 限制,本文将介绍Android 10上另一个关于隐私保护的重大变更:分区存储。它改变了应用对外部存储设备中的文件访问方式,不仅增强了用户的隐私保护,给予了用户更多的决定权,同时避免了垃圾文件的产生,提高了设备存储空间的利用率。虽然目前谷歌提供了兼容方案,使应用避免了分区存储的问题,但是谷歌表明明年的版本会强制执行分区存储,所以建议应用提前完成适配、数据迁移等工作。

变更:默认情况下,对于targetSdkVersion大于等于29的应用,其访问权限范围限定为分区存储。此应用无需请求与存储相关的用户权限,即可以查看外部存储中以下类型的文件:

•应用外部特定目录中的文件(使用 getExternalFilesDir() 访问)。

•应用自己创建的照片、视频和音频(通过MediaStore访问)。

影响:分区存储将影响在Android 10系统首次安装启动、且targetSdkVersion >=29的应用。需要访问和共享外部存储文件的应用会受到影响,需要进行兼容性适配。

影响范围:在Android 10上运行的应用:

- targetSdkVersion <= 28,不受影响

- 如果targetSdkVersion >= 29,默认情况应用外部存储可见性将被过滤,应用需要对分区存储进行适配。

以下两种情况比较特殊,不会受到分区存储的影响:

如果应用最先安装在Android 10以下的系统,

1)然后系统通过Fota升级到Android 10 或

2)应用通过更新升级到targetSdkVersion >= 29

适配方案:变更后每个应用在外部存储区都有自己独立的存储沙箱,也为应用提供了多媒体分区和下载文件分区。应用可以通过下面的方式进入过滤视图访问文件:

b914d5e19bc0017533df259365acdac4.png

*存储访问框架可以访问以上三个位置,并且不用申请任何权限。

具体实现方式,请参考Android官网:

MediaStore:

存储访问框架:

Android 10临时兼容方案:

如果应用没有兼容分区存储,应用可以暂时用以下两种方法进入兼容模式,避免分区存储的影响:

- targetSdkVersion <= 28,不受影响

- 如果targetSdkVersion > = 29,在应用manifest文件中设置requestLegacyExternalStorage为true。

b95fc2c53964dacaaea2a697a491dc4c.png

参考目录:

分区存储:

外部存储访问:

联系我们:

如果您对Android 10适配有任何问题,可以发邮件到下面的邮箱与我们联系。

欢迎发邮件到:rdtpservice@samsung.com

邮件主题:三星Android 10适配

=====================

现三星测试平台已开放真机调试,如暂时短缺相关型号手机的开发者可以通过此平台进行真机调试。

点击下方地址进行访问:

感谢您的关注和参与!

您还可关注“三星开发者”公众号查看相关开发者指引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值