Android 7.1 更新为用户和开发者引入了各种新功能。本文重点介绍了面向开发者的新变化。
应用快捷方式
您可以使用新的快捷方式功能,将用户从启动器直接转到您应用中的关键操作。用户只需长按应用的启动器图标以显示应用的快捷方式,然后点按相应快捷方式,即可跳转到关联的操作。这些快捷方式是吸引用户的绝佳方式,让您可以在用户启动应用之前显示应用的功能。
每个快捷方式都会引用一个 intent,每个 intent 都会启动一项特定操作或任务,您可以为任何可表示为 intent 的操作创建快捷方式。例如,您可以创建用于发送新短信、预订、播放视频、继续游戏、加载地图位置等操作的 intent。
您可以通过将快捷方式添加到 APK 中的资源文件中来为应用静态创建快捷方式,也可以在运行时动态添加快捷方式。静态快捷方式非常适合执行常用操作,动态快捷方式可让您根据用户的偏好、行为、位置等突出显示操作。您可以在每个应用中最多提供五个快捷方式。但请注意,某些启动器应用不会显示您为应用注册的所有快捷方式。
应用添加快捷方式后,任何支持快捷方式的启动器都可以使用这些快捷方式,例如 Pixel 启动器(Pixel 设备上的默认启动器)、Now 启动器(Nexus 设备上的默认启动器)以及其他提供支持的启动器。
任何应用都可以创建快捷方式,而任何启动器应用都可以添加对快捷方式的支持。Android 7.1 为应用提供了一个用于注册快捷方式的 API,以及用于读取已注册快捷方式的启动器。如需了解详情,请参阅应用快捷方式开发者文档。
图片键盘支持
用户常常希望使用表情符号、贴纸和其他类型的富媒体内容进行通信。在以前的 Android 版本中,软键盘(也称为输入法或 IME)只能向应用发送 Unicode 表情符号。对于富媒体内容,应用必须构建无法在其他应用中使用的应用专用表情符号,或者采用解决方法,例如通过轻松分享操作或剪贴板发送图片。
现在,在 Android 7.1 中,Android SDK 包含 Commit Content API,此 API 为 IME 提供了一种将图片和其他富媒体内容直接发送到应用中的文本编辑器的通用方法。从修订版 25.0.0 开始,v13 支持库中也提供了此 API。
借助此 API,您可以构建能够接受来自任何键盘的富媒体内容的即时通讯应用,以及可向任何应用发送富媒体内容的键盘。如需了解详情,请参阅图片键盘支持开发者文档。
全新专业表情符号
在 Android 7.1 中,我们将添加新的表情符号,代表更多职业,女性和男性。新的表情符号使我们现有的男性表情符号和女性表情符号之间存在对等,并支持各种肤色。
如果您是键盘或即时通讯应用开发者,您应该开始将这些表情符号整合到您的应用中。您可以通过调用 Paint.hasGlyph()
动态检查新的表情符号字符。
增强型动态壁纸元数据
现在,您可以向任何显示壁纸预览的组件(例如壁纸选择器应用)提供动态壁纸的元数据。您可以显示标签、说明和作者等现有元数据属性,以及上下文网址和标题的新属性,以便为用户提供有关壁纸的更多信息。
如需了解详情,请参阅 Android 开发者博客。
圆形图标资源
应用现在可以定义圆形启动器图标,在支持这些图标的设备上使用。当启动器请求应用图标时,框架会返回 android:icon
或 android:roundIcon
,具体取决于设备 build 配置。因此,在响应启动器 intent 时,应用应确保同时定义 android:icon
和 android:roundIcon
资源。您可以使用 Image Asset Studio 设计圆形图标。
您应确保在支持新圆形图标的设备上测试您的应用,以查看圆形应用图标的外观和显示方式。测试资源的一种方法是运行 Android 模拟器,然后使用以 API 级别 25 为目标平台的 Google API 模拟器系统。您还可以在 Google Pixel 设备上安装您的应用,以便测试图标。
如需详细了解如何设计应用启动器图标,请参阅 Material Design 准则。
存储空间管理器 intent
应用现在可以触发 ACTION_MANAGE_STORAGE
intent,将用户转到系统的释放空间屏幕。例如,如果应用需要的空间超过当前可用空间,则可以使用此 intent 让用户删除不需要的应用和内容,以释放足够的空间。
改进了 VR 线程调度
Android 7.1 提供了一些新功能来改进 VR 线程调度。这非常有用,因为虚拟现实应用对延迟非常敏感。
应用现在可以将一个线程指定为 VR 线程。当应用处于 VR 模式时,系统会更主动地调度该线程,以最大限度减少延迟时间。一个进程一次只能有一个 VR 线程,系统可能会对该线程施加限制,使其可以运行的时间。当应用不处于 VR 模式时,此设置不会产生任何影响。
如需将线程指定为 VR 线程,请调用新的 ActivityManager.setVrThread()
方法。
演示用户提示
应用现在可以检查设备是否以演示用户身份运行。
应用可以调用新的 UserManager.isDemoUser()
方法,以查看应用是否在演示用户沙盒中运行。这样,应用就可以为潜在客户自定义启动体验。例如,以演示用户的身份运行时,应用可能会向用户提供更多帮助,或更详细地说明其功能。
面向运营商和通话应用的 API
系统现在为运营商和电话应用提供了新的电话功能,包括:
- 多端点调用
- CDMA 语音隐私权属性
- 可视语音信箱的来源类型支持
- 用于管理视频电话的运营商配置选项
Wear 设备的新屏幕密度
Android 现在支持为 Wear 设备提供多种新的屏幕密度,这些密度更接近某些设备的物理规格。这样,您就可以根据需要微调 Wear 应用中的图形,使其与要显示它们的屏幕相匹配。
新设备的密度为:
DENSITY_260
DENSITY_300
DENSITY_340