一、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