爱笑的姑娘|拖不得了,Android11真的要来了,最全适配实践指南奉上
作者:积木zz
前言
最近看到一条新闻 , android 11(version 30 , Andorid R)最终Beta版 如期发布 , 看到这个新闻我知道我不能再拖了 , 再不好好准备好迎接Android11的到来 , 到时候迎接我的就是客户的指责 , 甚至老板的一封休书了。
今天就和大家一起看看Android11到底改了些什么 , 以及最重要的 , 我们需要怎么适配?targetversion不改到30 , 是不是就不用适配了呢?
以下我分为两部分讲述 , 分别是
- 以Adnroid11 为目标版本的应用(targetSdkVersion>=30才有影响)?
- 所有应用在Android11设备上适配改动(无论targetSdkVersion是多少 , 只要在Android11设备上运行的应用都有影响)
Tips:此适配文章会不间断更新 , 根据Android11发布进度调整 , 欢迎点赞关注 。 (打?的格外注意哦)
适配targetSdkVersion30此模块的修改内容只针对targetSdkVersion 30或者以上才生效 。
分区存储强制执行?对外部存储目录的访问仅限于应用专属目录 , 以及应用已创建的特定类型的媒体 。
关于分区存储 , 在Android10就已经推行了 , 简单的说 , 就是应用对于文件的读写只能在沙盒环境 , 也就是属于自己应用的目录里面读写 。 其他媒体文件可以通过MediaStore进行访问 。
但是在android10的时候 , Google还是为开发者考虑 , 留了一手 。 在targetSdkVersion = 29应用中 , 设置android:requestLegacyExternalStorage="true" , 就可以不启动分区存储 , 让以前的文件读取正常使用 。 但是targetSdkVersion = 30中不行了 , 强制开启分区存储 。当然 , 作为人性化的android , 还是为开发者留了一小手 , 如果是覆盖安装呢 , 可以增加android:preserveLegacyExternalStorage="true" , 暂时关闭分区存储 , 好让开发者完成数据迁移的工作 。 为什么是暂时呢?因为只要卸载重装 , 就会失效了 。 以下是关于分区存储会遇到的所有情况 , 给大家罗列出来了 , 先上代码:
fun saveFile() {if (checkPermission()) {//getExternalStoragePublicDirectory被弃用 , 分区存储开启后就不允许访问了val filePath = Environment.getExternalStoragePublicDirectory("").toString() + "/test3.txt"val fw = FileWriter(filePath)fw.write("hello world")fw.close()showToast("文件写入成功")}}
分情况运行:1) targetSdkVersion = 28 , 运行后正常读写 。
2) targetSdkVersion = 29 , 不删除应用 , targetSdkVersion 由28修改到29 , 覆盖安装 , 运行后正常读写 。
3) targetSdkVersion = 29 , 删除应用 , 重新运行 , 读写报错 , 程序崩溃(open failed: EACCES (Permission denied))
4) targetSdkVersion = 29 , 添加android:requestLegacyExternalStorage="true"(不启用分区存储) , 读写正常不报错
5) targetSdkVersion = 30 , 不删除应用 , targetSdkVersion 由29修改到30 , 读写报错 , 程序崩溃(open failed: EACCES (Permission denied))
6) targetSdkVersion = 30 , 不删除应用 , targetSdkVersion 由29修改到30 , 增加android:preserveLegacyExternalStorage="true" , 读写正常不报错
7) targetSdkVersion = 30 , 删除应用 , 重新运行 , 读写报错 , 程序崩溃(open failed: EACCES (Permission denied))
- 东方网综合|又一大牌扛不住了!关店3000家,裁员6000人!很多姑娘都爱买
- 钱江晚报|小区保安突发疾病,刚上完夜班的白衣小姑娘跪地急救,累到虚脱
- 老王开说|灰姑娘的童话故事终究破灭,戴安娜王妃的深情只换来查尔斯的敷衍
- 钱江晚报·小时新闻|小区保安突发疾病,刚上完夜班的杭州白衣小姑娘跪地急救,累到虚脱
- 穿搭|到了三十的姑娘,更喜欢穿着高跟鞋去逛街,为了衬托气质
- BiuFashion|唐嫣“扮嫩”技术好,穿粉色裙子甜美可爱,气质像没长大的小姑娘
- 旗袍裙|长相平凡的姑娘,今春建议穿“这件”裙,时髦显瘦气质不俗!
- [赵雅芝]赵雅芝的身材真不赖,穿红色披风裙,天鹅颈直角肩小姑娘都羡慕
- BiuFashion|被周海媚美到了,身穿香芋紫针织衫配运动裤,嫩度不输小姑娘
- 衬衫|许晴真是69年的人?穿条纹衬衫裙秀身材,曲线还跟小姑娘似的衬衫的搭配衬衫的下衣失踪要注意哪些?衬衫的其他搭配