安全和隐私变更

隐私保护是Android Q重要的主题之一,Android Q带来了一系列增强用户隐私保护的变更。

1

应用文件存储空间限制

应用访问限制是Android Q影响最大变更之一。在Android Q系统中,应用只可以通过路径读取自己应用沙箱内的文件,如果需要读取应用沙箱外的文件,需要使用安卓统一接口来实现。该变更对大部分应用都会产生较重大的影响,需要开发者进行重点关注,后续我们也将以专题的形式来详细解读应该变更的影响和应对策略。

2

禁止访问不可更改的ID

Android Q将禁止非系统应用访问用户不可更改的ID,包括IMEI号、SN号、USB序列号等。系统WiFi Mac地址默认是随机生成的,不再是固定的Mac地址,防止用户隐私被追踪。该变更将对依赖设备信息的业务产生影响,比如数据上报、用户画像、推荐和广告等,需要开发者进行重点关注。

3

不允许后台弹页面

Android Q将禁止应用后台启动activity,这将对后台弹出页面使用场景产生重大影响,如:闹钟、音乐锁屏、应用后台安装等。在目前的预览版中,该变更未正式实施,但是对有后台弹页面的行为会产生toast警告,提示开发者进行相关的整改。

该变更对有通知的应用,widget和快捷方式没有影响,开发者可以将一些必要的场景改用通知的方式去实现。

4

位置权限三态化

Android Q中,应用在申请地理位置授权时,将增加使用时可用和始终可用两个选择。这将对需要后台GPS定位的使用场景产生影响,开发者在使用后台定位时需要增加前台服务。

5

剪切板访问限制

Android Q中,系统将禁止应用在后台访问剪切板,以更好地保护用户隐私。

AOSP变更

1

Hidden API

在Android P中,谷歌已经开始限制Hidden API的使用,在Android Q中,新增了max-o和max-p两种类型,黑名单的数量也大幅增加。这将对所有使用非SDK接口的应用产生影响。

开发者需要自行检测非SDK接口的名单,并将还在使用的黑名单接口反馈给谷歌申请加到灰名单中,手机厂商也会配合应用进行测试验证和相关的适配工作。

2

折叠屏适配

现在越来越多的手机厂商发布了折叠屏的手机,谷歌在Android Q系统中提供了统一的折叠屏方案和适配接口,系统增加了最小比例设置的参数minAspectRatio,应用可以通过meta-data声明。

该变更对所有在折叠屏设备上的应用都会产生影响,主要需要解决手机从折叠形态到展开状态转化时应用重新加载和展开状态下应用显示比例适配两个问题。

多媒体新特性

1

Heif格式图片支持

在Android P系统中已经增加了对Heif格式图片的软解码和软编码的支持,系统图库也支持Heif格式图片显示。在Android Q中,将支持拍照直接生成Heif格式的图片。这将对图片读取和分享的使用场景产生影响,相关的应用(如社交类、图片美化类)应进行Heif格式图片的支持适配。

2

并发录音

在Android P及之前的安卓系统中,不支持并发录音,录音焦点不可抢占。在Android Q中增加了对并发录音的支持,录音焦点可以被抢占。这将对后台录音的场景产生影响,可能会录到空数据。有相关使用场景的应用需要通过接口去监听录音焦点的状态变化,并及时作出应对。

3

录音source限制

Android Q系统对AUDIO_SOURCE_VOICE_CALL类型的录音源增加权限限制,CAPTURE_AUDIO_OUTPUT需要系统签名才可以使用,其他应用无法申请。该变更将导致应用无法录音,一些社交类软件的语音电话功能会受到影响。

开发者需要将录音源改为AUDIO_SOURCE_VOICE_COMMUNICATION来规避这个问题的发生。

4

MediaProvider

Android Q系统增加了对MediaProvider的sql语句管控,mediastore中定义的列以外的信息,无法查询,不合法的查询列会返回空值。

文件的位置信息被删除,将无法通过MediaProvider进行查询。开发者需要对查询的语句进行排查和整改,动态申请ACCESS_MEDIA_LOCATION权限,然后通过MediaProvider的openFile获取文件的exif信息。

系统应用变更

安装器接口废弃

Android Q系统将禁止调用intent(action为INSTALL_PACKAGE)拉起安装器,该应用将对TargetSdkVersion<24的应用产生影响,应用内安装的功能将无法实现。开发者可以使用FileProvider进行适配,使用content Uri替代file Uri。

OS特性变更

禁止非系统应用调用dex2oat

Android Q将禁止非系统应用调用dex2oat,该变更通过selinux权限进行管控,只对TargetSdkVersion≥Q的应用产生影响,需要开发者进行排查是否有相关操作。此外该变更还会对加固程序产生影响,需要加固厂商进行重点关注。

API LEVEL政策变更

2019 Google Play上架API LEVEL政策规定,对于新上架的应用,2019年8月1日以后,应用TargetSdkVersion需要大于等于28;对于更新的应用,2019年11月1日前需要将应用TargetSdkVersion升级到28及以上。

Android Q 变更和新特性的更多相关文章

  1. Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView

    Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView 8.0出来很久了,这个新特性已经用了很久了,但是一直没有亲自去试试.这几天新的需求来 ...

  2. [Android 新特性] 改进明显 Android 4.4系统新特性解析

    Android 4.3发布半年之后,Android 4.4随着新一代Nexus5一起出现在了用户的面前,命名为从之前的Jelly Bean(果冻豆)换成了KitKat(奇巧).这个新系统究竟都有怎样的 ...

  3. Android Studio 3.5新特性

    Android Studio 3.5新特性     原文链接:https://blog.csdn.net/jklwan/article/details/99974869 Android Studio ...

  4. [译]Android Studio 3.6 新特性概览

    设计 设计编辑器 设计编辑器(比如布局编辑器和导航编辑器)现在提供了一个拆分视图模式,能够同时查看 UI 界面的 Design 视图和 Code 视图.拆分视图取代并改进了早期的预览窗口,并且可以对每 ...

  5. Android应用--新浪微博客户端新特性滚动视图和启动界面实现

    新浪微博客户端新特性滚动视图和启动界面实现 2013年8月20日新浪微博客户端开发之启动界面实现 前言: 使用过新浪微博客户端的童鞋都清楚,客户端每一次升级之后第一次启动界面就会有新特性的介绍,用户通 ...

  6. Android Studio 3.0 新特性

    最新Android Studio版本是Android Studio 3.0,本文提供了所有新功能和更改的摘要. 所有这些功能都可以在最新的金丝雀版本中发布,但beta测试版本可能尚未提供. 核心IDE ...

  7. Android 4.4 KitKat 新特性

    New in Android 4.4 KitKat 本文是一个概览,关于KitKat,也即Android4.4的新东西,先是功能型的,之后是设计上的. 很多特性本文并没有提到,很多提到的特性也只是简短 ...

  8. Android开发使用Java8新特性

    Android 支持所有 Java 7 语言功能,以及一部分 Java 8 语言功能(具体因平台版本而异).本文介绍您可以使用的新语言功能.如何正确配置项目以使用这些功能,以及您可能遇到的任何已知问题 ...

  9. Android 4.1的新特性介绍

    原文:http://android.eoe.cn/topic/summary 果冻豆 - Android 4.1 通知系统 - Notifications 在Android 4.1系统上通知的功能大大 ...

随机推荐

  1. linux网络性能测试工具ipref安装与使用

    一.iperf工具安装 源码包下载地址:https://iperf.fr/iperf-download.php#archlinux 选择对应系统的版本就是解压安装了 完成 测试发现有问题 问题原因:L ...

  2. marquee标签的使用

    marquee语法    <marquee></marquee> 实例一<marquee>Hello, World</marquee> marquee常 ...

  3. netty的基本介绍

    一.什么是netty?为什么要用netty netty是jboss提供的一个java开源框架,netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可用性的网络服务器和客户端程 ...

  4. Unity支持的跨平台

    Windows Mac OS X Web Browsers IOS android PlayStation 3 Xbox 360 Windows Store Windows Phone Linux B ...

  5. H5_0002:微信分享设置

    1,非公众号的链接,设置分享的预览图片. 先打开页面,在收藏页面,最后在收藏界面长按 “转发” ,即可在链接上出现预览图片.

  6. CTR预估中GBDT与LR融合方案(转载)

    1.背景 CTR预估,广告点击率(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入.CTR预估中用的最多的模型是LR(Logis ...

  7. springMVC的controller

    控制器controller 负责处理DispatcherServlet分发请求,把业务处理层封装成一个model,然后把该model返回给对应的view. @Controller 用于标记在一个类上, ...

  8. 微信小程序出现 Expecting 'STRING','NUMBER','NULL','TRUE','FALSE','{','[', got INVALID

    是因为,app.json中不能有注释,我将我上面注释的部分去掉,就可以了

  9. html-webpack-plugin详解

    引言 我们来看看主要作用: 为html文件中引入的外部资源如script.link动态添加每次compile后的hash,防止引用缓存的外部文件问题 可以生成创建html入口文件,比如单页面可以生成一 ...

  10. js较深入的知识点

    浏览器渲染过程是怎样的?重绘重排是什么?如何避免过多的重绘重排? 将html解析为dom树; 将css解析为cssom; 结合DOM树和CSSOM树,生成一棵渲染树(Render Tree); 生成布 ...