在 Wear 上创建输入法

Wear OS 通过扩展 Android 输入法 (IME) 框架,对语音以外的输入法提供支持。IME 框架提供了对虚拟屏幕键盘的支持,从而允许用户以点击按键、手写或手势的形式输入文本。

Wear OS 用户可从远程输入中选择各种输入选项。这些选项包括:

  • 语音输入
  • 表情符号
  • 预设回复
  • 智能回复
  • 默认 IME
输入法示例。
图 1. 输入法示例。

Wear OS 随附系统默认 IME,还允许第三方开发者创建自定义 IME。 用于 Wear OS 设备的 IME API 与用于其他设备类型的相同,但由于屏幕尺寸有限,因而在用法上略有不同。

本文档将提供指导,帮助您创建 Wear OS 专用 IME。

为 Wear 创建输入法

Android 平台提供了一个用于创建 IME 的标准框架。如需创建 Wear OS 专用 IME,您需要针对穿戴式设备有限的屏幕尺寸优化 IME。

Wear OS 专用 IME 过滤器

如需了解如何为 Wear OS 创建输入法,请按照在手机上创建输入法的指南进行操作,然后在清单文件的以下各部分中添加 Google Play 过滤器,以使其成为 Wear OS 专用 IME。

API 级别

如需为 Wear OS 开发 IME,请记住,只有 Android 6.0(API 级别 23)及更高版本才支持此功能。为确保 IME 只能安装在支持语音以外的输入法的穿戴式设备上,请将应用的 build.gradle.kts 文件中的 minSdkVersion 值设置为 23 或更高值。

设备功能集

如需控制如何从不支持 Wear OS IME 的设备上(例如,iPhone)过滤您的应用,请将以下代码添加到应用的清单中:

<uses-feature android:required="true" android:name="android.hardware.type.watch" />

调用输入法

Wear OS 在手表上提供了用户设置,允许用户从已安装的 IME 列表中启用多个 IME。用户启用您的 IME 后,他们可从使用 RemoteInput API 的通知或应用中调用您的 IME。

IME 一般注意事项

下面是为 Wear 实现 IME 时需要考虑的一些事项:

  • 设置默认操作

    RemoteInput 和 Wear OS 应用只能处理单行文本输入。始终使用 Enter 键触发对 sendDefaultEditorAction 的调用,这会使应用关闭键盘,并继续执行下一步或下一项操作。

  • 使用全屏模式 IME

    Wear OS 上的输入法占用了屏幕的大部分空间,使得用户只能看到应用的很小一部分。不管使用哪种应用界面,使用全屏模式都可以提供出色的用户体验。在全屏模式下,ExtractedText 可提供所修改文本字段的镜像视图,并且可为其设置适当的样式,使其与输入法界面的其余部分浑然一体。如需详细了解全屏模式,请参阅 InputMethodService

  • 处理 InputType 标志

    出于隐私原因,您至少应处理您的 IME 中的 InputType 标志 TYPE_TEXT_VARIATION_PASSWORD。当 IME 处于密码模式时,请确保针对单次按键优化键盘(这意味着停用自动拼写更正、自动完成和手势输入)。最重要的是,不管使用哪种输入语言,处于密码模式的键盘都必须支持美国信息交换标准码 (ASCII) 符号。如需了解详情,请参阅指定输入法类型

  • 提供用于切换到下一个输入法的键。

    Android 允许用户在平台支持的所有 IME 之间切换。在您的 IME 实现中,将布尔值 supportsSwitchingToNextInputMethod 设置为 true。这使 IME 能够支持切换机制,以便应用可以切换到平台支持的下一个 IME。如需详细了解如何实现 IME 之间的切换,请参阅在 IME 子类型之间切换