Android Q Labs| Android Q 有哪些更新

两个月前,咱们刚推出了 Android Q 的 Beta 版本,在过去的两个月咱们一直在聆听你们的反馈和意见,今年 Google I/O 上咱们刚推出了 Beta 3。在此强烈建议你们加入 Beta 项目并在上面测试本身的应用,欢迎你们反馈对于 Android Q 的意见、建议和需求。安全

Android Q 的主题

以上是今年 Android Q 更新的三个主题。今天主要跟你们聊聊隐私上的行为变动、性能提升、以及借助 Project Mainline 更容易地更新用户的系统。机器学习

系统UI

系统UI的变化对用户来讲最为直观,在系统UI的修改上咱们的原则是经过改进让开发人员在开发时更加驾轻就熟。咱们但愿用户可以方便地调用他们最想使用的功能,即便是应用没有打开的状况下也能用到其中一些功能。在 Android Q 上,咱们对分享通知多任务作了不少优化。异步

分享

咱们在分享界面作了重大改版工具

一是引用新的 API 提高性能;post

二是改进了界面的展现,明确能够向哪些地方分享内容。性能

如今分享页面被划分为三块区域。第一块是新加入的内容预览区,包含分享内容的连接、图标和标题,以及一个复制的按钮。开发者能够在此区域添加 metadata 实现富内容预览。学习

上图是富内容预览的代码实现。测试

第二块是分享捷径,这块让用户在应用中更快捷地分享出去。优化

该块最多可显示8个分享目标,能够是通信工具里最常互动的联系人或群组,也能够是最常使用的工做目录等。由于应用内的分享会比打开应用再选择分享的方式更高效,因此分享捷径的区域会展现在分享应用的上方,一样 Sharing Cuts 的优先级会高于以前版本中所提供的Chooser Target Service;咱们还经过 Android ACTS 提供了向下兼容:设计

创造捷径内分享的方式也很简单。

在 Sharing Shortcu 中添加一个完整字段的 Person 类信息会对分享的展现以及通知里的展现提升优先级。

第三块分享目标应用区域会展现全部可分享的应用。

通知

过去几个版本中,咱们一直在努力帮助用户梳理他们的通知栏,在过去的版本中咱们也推出了帮助用户关闭通知的快捷键。

秉着帮助用户减小打扰并关注重要通知,咱们在 Android Q 上对优先级作了优化。

图中上半部分是高优先级的通知,下半部分为弱优先级。系统会尊重用户设立的优先级,但为了不应用滥用高优先级的 API,系统也会进行预判断。系统会将有关“人”的通知、通话信息、事件等给予更高的优先级。优先级最终是由用户决定,用户在 Q 中能够更轻松地更改应用的优先级。

强烈建议你们给本身应用的通知加入图上的这种选择 Action。

在Android Q 中,系统为 Messaging 类的通知自动生成一些自动回复的提示,包括文本内容、URL 连接和应用中的 Deep Links(如上图所示)。出于隐私考虑以上操做均在设备上完成,而非云端。

若是你想要在系统提示的基础上进行一些自定义,好比说你想要让用户能够点击该回复而且进行编辑,或者是你想要加入一些机器学习的模型去推测用户会加入怎样的回复,那么若是是这种状况的话,咱们就有一些自定义的建议,如下是一些代码实例。

首先是如何建立新通知,这能够帮助应用在系统免通知打扰模式开启时跟系统更好地配合。setAllowSysemGeneratedContenxtualActions 在 Android Q 上是默认开启并设成 True 的。

这里咱们给出了一个如何加入机器学习模型来推测用户输入内容的例子。咱们利用 FirebaseNaturalLanguage 里的 getSmartReply 来得到实例,再调用 suggest 方法。这里有一个异步的操做,Firebase 会在云端协助处理并返回可能的回复值,而后把这些回复值加入通知可能出现的 choices 里面。

要对系统进行自定义,需挟持系统给出的一些 Actions,在此基础上进行自定义深层连接。

多任务

在ndroid Q 中咱们引入了 Bubbles,它是在 System Notification 基础上支持多任务的新功能,用来取代以前被滥用的 System Alert Window。System Alert Window 设计之初不是面向用户的功能,有些开发者用 System Alert Window 作了一些很酷的 Feature ,在 Q 中咱们会对这个接口的使用作一些限制。 相较于以前用于视频播放场景的画中画功能,Bubbles 的出现用来处理多任务模式下须要更多用户交互的场景。 Bubbles 在 Q 的预览版中是默认开启,但在最终版本中它将变成 Developer Only 的选项,须要在开发者选项中手动打开。

在收起态中,Bubbles 将会是一个圆形图标,用一块圆形的区域展现新收到的消息;当用户点击时会展开,展开一个完整的界面。开发者构建 Bubbles 须要三步:首先构建一个用于展现 Bubbles 的 Activity,而后构建好 Bubbles 的 Metadata 并添加到 notification 中,最后再发送这个 Notification。

如下是建立 Bubbles 的代码。

首先须要在应用的 Mainfest 文件中设置 Activitity 的属性。allowEmbedded、documentLaunchMode 和 resizeableActivity 是三个必须要有的属性,不然不会按照 Bubbles 的形式将 Notification 展现出来。

首先要设置 Activity 的 Pending intent,而后是设置图标。

建立好 Bubble 的 Metadata 以后,只须要那行高亮的代码将其关联到 Notification 当中,使用 Notification Manager 的接口把 Bubble 展现出来。

若你的 Notification 不属于这三种场景,就不会被以 Bubbles 的形式展现出来。若是你的应用是实时通信类的应用,你须要使用 Message Style 内嵌的回复方式,并关联到 Notification 中;语音通话类应用要使用 Category Call,标注 person 字段,并要有前台的服务。

Kotlin

过去的两年中有愈来愈多的 Android 开发者使用了 Kotlin 语言。

Camera360团队将他们使用 Kotlin 的新的与咱们进行了分享。

Google 如今推行 Kotlin-First,不只第一方应用优先使用 Kotlin,Jetpack 库现已支持 Coroutine。此外咱们仍会支持 Java 和 C 语言在 Android 上的开发

为了帮助开发者更快上手 Kotlin,咱们和 JetBrains 联合推动全球性社区自发的 Kotlin 学习活动。对 Kotlin 学习感兴趣的可联系当地 GDG。

隐私

Jetpack

TLS 1.3 默认开启

相较于 TLS 1.2,1.3最大的优化在于速度上的提高,更快创建安全连接。

设备ID访问设置

注意,UUID 不会随着应用的从新安装或用户的清除空间而保存。

设置&开关

聆听其余应用音频输出

使用该 API,容许其余应用聆听该应用的音频输出。

只有用户容许时才可以使用。

BiometricPrompt

包括用户指纹、人脸识别、虹膜识别等生物特征。Q 在 API 的基础上进行了一些优化。

在调用前,先使用BiometricManager.canAuthenticate来判断是否能够进行生物识别登陆操做。

建议你们在添加生物识别的同时,加入备选机制(如密码、图案、PIN码等)

Android Studio 3.5 (Beta)

列出来的一些目前已有的改进。

提供了折叠屏手机的屏幕模拟器,目前可建立7.3英寸和8英寸的模拟器。

改变了开发者抱怨已久的 Instant Run 功能,将其重写并改成 Apply Changes。

容许在 Android Studio 设置 heap size,从而在开发过程当中达到更好的性能。

以上就是关于 Android 更新的全部内容,谢谢你们!

Android Q Labs 直播专题页面

Android Q Labs 开场演讲

Android Q 现代化您的应用

后台 Activity 启动的限制

Android Q 分区存储

Android Q 手势导航

Jetpack 更新

Android Q 在折叠屏设备的适配

通用系统映像介绍

Google Play 商店政策

Android Q 地理位置权限变动

Android Q 深色主题

Android Q Labs 总结演讲