Android Q适配

本文详细介绍了Android Q中的隐私权变更,包括分区存储的实现与兼容模式测试,以及定位权限的新要求。针对分区存储,推荐使用Context.getExternalFilesDir()存储文件,并讨论了如何在不同场景下适配存储权限。同时,文章提到了Android Q中后台位置权限的新增,以及对原有定位权限的影响。最后,指出了设备标识符变更带来的问题,以及存储适配可能面临的风险和解决方案。
摘要由CSDN通过智能技术生成
一、Android Q 隐私权变更:分区存储

Android Q在外部存储设备中,为每个应用提供了一个隔离分区(也叫隔离存储沙盒),简单而言就是应用专属文件夹,并且访问这个文件夹无需权限。

谷歌官方推荐应用在沙盒内存储文件的地址为Context.getExternalFilesDir()下的文件夹。

比如要存储一张图片,则应放在Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)中。

所以在Android Q中,所有的外部存储都应该存到沙盒隔离区中。存放目录位于mnt/sdcarc/Android/data/应用包名/files下

Android Q行为变更:

当满足以下每个条件时,将开启兼容模式,即不开启Q设备中的存储权限改动:

应用targetSDK<=P。
应用安装在从 Android P 升级到 Android Q 的设备上。
但是当应用重新安装(更新)时,不会重新开启兼容模式,存储权限改动将生效。

所以按官方文档所说,无论targetSDK是否为Q,必须对应用进行存储权限改动的适配。

适配方法:当系统版本>=29时候,启用分区存储。

if(Build.VERSION.S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值