Android 9,flutter 安装教程 2019
Slices 能够有效帮助用户节省操作时间,不需要通过全屏体验就能够使用应用的部分功能。借助配套的 UI 模板,Slices 能够将应用内容以高动态、富交互的形式插入到多个使用场景中,比如 Google Search 和 Assistant。请进一步了解如何在应用中构建 Slices。
>>?构建 Slices
https://developer.android.google.cn/guide/slices/
App Actions
App Actions 是一种全新的应用推荐方式。开发者可以利用这个功能,让更多人看到自己的应用并极大提高用户参与度。借助机器学习技术,App Actions 能对应用的语义意图和使用场景进行分析,并根据分析结果在适当的时机向用户推荐您的应用。
我们将在接下来几周内公布具体操作细节,帮助开发者了解如何在应用内处理一个或多个用户意图。一旦应用启用该推荐功能后,系统就会根据用户请求,在众多 Google 和 Android 交互入口推荐您的应用。
>>?App Actions
http://developer.android.google.cn/guide/actions/
文本识别与 Smart Linkify
在 Android 9 中,我们对识别文本的机器学习模型进行了扩展,使其可以借助?TextClassifier API 识别出类似日期或航班号这样的信息。此外, Smart Linkify 允许开发者通过?Linkify API?使用文本识别模块完成多项操作,比如对用户可采取的操作提出建议。Smart Linkify 让系统在文本识别精确度与速度上都有明显的提升。
>>?TextClassifier API
https://developer.android.google.cn/reference/android/view/textclassifier/package-summary
>>?Linkify API?
https://developer.android.google.cn/reference/android/text/util/Linkify
神经网络 API 1.1
Android 9.0 对神经网络 API 进行了扩展与改进,进一步优化 Android 对机器学习硬件加速的支持。神经网络 API 1.1?共增加了对 9 个新算子的支持,它们分别是 Pad、BatchToSpaceND、SpaceToBatchND、Transpose、Strided Slice、Mean、Div、Sub 和 Squeeze。TensorFlow Lite 就是一个已经用上此 API 的典型机器学习框架。
>>?神经网络 API 1.1?
https://developer.android.google.cn/ndk/guides/neuralnetworks/index.html
>>?TensorFlow Lite
https://www.tensorflow.org/mobile/tflite/
人机交互,就是这么容易
“让智能手机更加智能” 是我们向前迈进的重要一步。但是,如何把握好用户与科技的关系 —— 让科技以人为先,这一点也同样关键。在 Android 9 中,我们大幅度改进了用户界面,让它更简洁,也更易于操作;对于开发者而言,这些变更能够让用户更加容易搜索,使用和管理您的应用。
全新系统导航
经过一年多的努力, Android 9 迎来了全新的系统导航,让多任务切换及关联应用探索变得更加简单。您只需要向上滑动屏幕就可以全屏预览最近使用过的应用,轻触预览页后便可以切换至所选应用。
凹口屏支持
Android 9 中加入了凹口屏支持,让您的应用可以充分利用最新全面屏,展现应用的独特魅力。该功能可以在大部分应用中无缝工作,系统会通过调整状态栏高度将应用内容与屏幕缺口区域分开。如果您的应用含有沉浸式内容,您可调用?display cutout APIs?确认缺口形状与位置,然后请求围绕缺口进行全屏布局。另外,我们还加入了开发者选项来模拟任意设备上的凹口形状,从而极大简化了应用支持凹口屏幕所需的构建以及测试流程。
>>?凹口屏支持
https://developer.android.google.cn/guide/topics/display-cutout/
>>?display cutout APIs
https://developer.android.google.cn/reference/android/view/DisplayCutout.html
△?内含沉浸式内容的应用可以在凹口屏设备上实现全屏显示
通知与智能回复
Android 9 进一步改善了通知的实用性与可操作性。消息类应用可以调用新的?MessagingStyle?API 来显示对话,附加照片和表情,或者提供智能回复建议。再过不久,您就可以使用?ML Kit?在应用中生成智能回复。
△?在 MessagingStyle 通知中,您可以显示对话和智能回复 (左) 或添加图片和表情 (右)
>>?MessagingStyle?
https://developer.android.google.cn/preview/features%23notifications
>>?ML Kit
https://developers.google.com/ml-kit/
文本放大镜
Android 9 中添加文字放大镜工具 (Magnifier widget),以提升文本选择方面的用户体验。由于该放大器提供了可以在文本上方拖拽的文本放大面板,所以有助于用户精准地定位光标或文本选择手柄。该功能可以灵活运用在所有附加在窗口的视图上,个性化小部件和定制文本呈现均是不错的应用场景。而且,该放大器工具还可以提供任何视图或界面的放大版本,而不仅仅是文本。
>>?文字放大镜工具 (Magnifier widget)
https://developer.android.google.cn/reference/android/widget/Magnifier?
请阅读《Android P 中的新文本特性》,了解更多有关放大镜以及文本特性的相关信息,如?Precomputed Text、行高以及基线文本对齐。
>>?Precomputed Text
https://developer.android.google.cn/reference/android/text/PrecomputedText?
用户安全与隐私
统一身份验证对话框
生物传感器被广泛应用于身份认证,为了保障用户在不同感应器和应用间能够获得一致的体验, Android 9 引入了统一的身份验证对话框,提示用户进行操作。应用不再需要自行设计对话框,而是通过调用?BiometricPrompt API?触发系统对话框。除指纹识别以外 (包括屏幕下指纹识别),该 API 还支持面部识别以及虹膜识别。
>>?BiometricPrompt API
https://developer.android.google.cn/reference/android/hardware/biometrics/BiometricPrompt
若您的应用仍在使用自行设计的指纹识别对话框,我们建议您尽快转用 BiometricPrompt API。
高可信度用户确认
Android 9 新增了高可信度用户确认 (Android Protected Confirmation) ,该功能通过可信执行环境 (TEE) 确保提示文本被真实用户确认。只有在用户成功确认之后,TEE 才会签发该文本,让
应用进行后续验证步骤。
>>?Android Protected Confirmation
https://developer.android.google.cn/preview/features/security#android-protected-confirmation
加强密钥安全保护
我们还加入了一个新的?KeyStore?类 —— StrongBox,并提供相应的 API 来支持那些提供了防入侵硬件措施的设备,比如独立的 CPU,内存以及安全存储。您可以在?KeyGenParameterSpec?里进行设置,决定是否把密钥交给 StrongBox 安全芯片来保存。
>>?KeyStore
>>?KeyGenParameterSpec
https://developer.android.google.cn/reference/android/security/keystore/KeyGenParameterSpec
DNS over TLS
Android 9 内置对 DNS over TLS 的支持:若网络 DNS 服务器提供支持,设备会自动将 DNS 查询升级为 TLS 查询。用户可以通过更改 “网络和互联网” 设置下的隐私 DNS (Private DNS) 模式来管理 DNS over TLS 行为。自行运行 DNS 查询的应用可以通过调用新的?LinkProperties.isPrivateDnsActive() API 来获取 DNS 模式相关信息。请阅读《Android P 开发者预览版支持 DNS over TLS》,获取进一步信息。
默认使用 HTTPS
为了将所有网络流量从明文 (未加密的 HTTP) 逐步迁移至 TLS,我们更改了网络安全配置的默认设置,以阻止所有明文流量,强制应用通过 TLS 建立网降连接,除非开发者明确允许特定域名使用明文传输。
>>?网络安全配置
https://developer.android.google.cn/training/articles/security-config.html
基于编译器的安全缓解措施
Android 9 将进一步扩展编译器级别的安全缓解措施,借助运行时危险行为监测进一步加强平台安全建设。Android 9 通过控制流程完整性 (CFI) 技术解决了代码重用 (code-reuse) 和任意代码执行两大漏洞,并扩展了 CFI 在媒体框架和其它关键安全组件内的使用范围,如 NFC 与蓝牙。同时,Android 9 还针对 Android 常见内核的 LLVM 编译添加了 CFI 内核支持。
此外,Android 9 还将整数溢出检查器 (Integer overflow sanitizer) 的使用范围扩展到其他库,以缓解内存损坏与信息泄露这两个问题。我们调高了检查器在以下两类库中的优先级:1) 存在历史漏洞,2) 需要处理复杂且不受信任的输入,如?libui、libnl 和 libmediaplayerservice 一类的库都在调整范围内。
用户隐私
Android 9?新加入多项机制,进一步加强了对用户隐私的保护。系统禁止所有处于空闲状态的应用对话筒、摄像头和所有?SensorManager?传感器的访问。当应用的 UID 空闲时,麦克风将会报告 “无音频信号”,传感器将会停止报告事件,应用使用的摄像头也会断开连接,并在应用试图访问时生成错误。在大多数情况下,这些限制不会对现有应用造成新的问题,但建议您从应用中移除此类传感器请求。
>>?SensorManager
https://developer.android.google.cn/reference/android/hardware/SensorManager.html#getSensors()
Android 9 还让用户控制是否允许访问平台 build.serial 识别码 (它被?READ_PHONE_STATE?权限保护) 。自 Android 8.0 以来,直接访问此识别码的功能已被弃用。您可以调用?Build.getSerial()?方法,访问 build.serial 识别码。
>>?READ_PHONE_STATE
https://developer.android.google.cn/reference/android/Manifest.permission.html#READ_PHONE_STATE
>>?Build.getSerial()
https://developer.android.google.cn/reference/android/os/Build.html#getSerial()
了解全部隐私变更:https://developer.android.google.cn/about/versions/p/android-9.0-changes-all#privacy-changes-all
感官新体验: 摄像和影音的全面升级
多摄像头 API 以及其它改进
从 Android 9 开始,您可以在支持多摄像头 API 的设备上通过两个或更多实体摄像头同时访问视频流;在配有双前置或双后置摄像头的设备上,实现单摄像头无法实现的创新功能:如无缝变焦、散景和立体视觉。该 API 还允许您调用可以在两台或更多台摄像头之间自动切换的逻辑或混合摄像头视频流。
>>?两个或更多实体摄像头
摄像头的其他改进还包括:利用新的会话参数 (Session parameters) 来有效减少初始捕捉时的延迟,表面 (Surface) 共享技术让摄像头客户端无须重启视频流便可处理各种场景。此外,我们还加入了相关 API,提供基于屏幕闪光灯支持及?OIS 时间戳的访问权限。
>>?Session parameters
>>?闪光灯
>>?OIS 时间戳
HDR VP9 视频以及 HEIF 图像
Android 9 增加了对 HDR VP9 Profile 2 的内置支持。现在,您可以在支持 HDR 的设备上,把启用 HDR 功能的视频内容分享给您的用户。
另外,我们还在添加了对?HEIF?(heic) ?图像编码的平台支持。 HEIF 是目前比较流行的一种的压缩格式,它改善了图片的压缩效果,并减少了图片的储存空间以及网络流量。引入平台支持后,开发者能更加方便地从后台服务器传输并使用 HEIF 图像。一旦确定您的应用与该数据格式兼容,可用于分享或者显示,不妨尝试将 HEIF 设定为应用内图片的储存格式。此外,您还可以通过 ImageDecoder 将 jpeg 文件转化为 heic 文件,或通过 Bitmap Factory 从 jpeg 文件中获取位图。您亦可使用 AndroidX 库中的 HeifWriter 从 YUV 字节缓冲区、Surface 以及位图中写入 HEIF 静态图像。
>>?HEIF
>>?HeifWriter
https://developer.android.google.cn/reference/androidx/heifwriter/HeifWriter.html
使用动态处理增强音频
开发者可以调用?Dynamics Processing API?对音频进行动态处理,通过分离出特定频率的声音,降低过大的音量,或者增强过小的音量,来改善应用的音频质量。比如说,即便说话者声音小,离麦克风远,而且外界环境十分嘈杂,您的应用依然可以有效捕捉并他/她的声音,并进行相应优化。该 API 提供了多声场、多频段的动态处理效果,包括一个预均衡器、一个多频段压缩器,一个后均衡器以及一个串联的音量限制器。
>>?Dynamics Processing API?
https://developer.android.google.cn/reference/android/media/audiofx/DynamicsProcessing
用于位图和 drawable 的 ImageDecoder
评论