在 Wear 上创建输入法

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

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

  • 语音输入
  • 表情符号
  • 预设回复
  • 智能回复
  • 默认 IME

图 1. 输入法示例

Wear 随附系统默认输入法 (IME),并向第三方开发者开放 IME API,以便为 Wear 创建自定义 IME。用于 Wear 设备的 IME API 与用于其他设备类型的相同,但由于屏幕空间有限,因而在用法上略有不同。

本文档提供了可帮助您创建 Wear 专用 IME 的指导。

为 Wear 创建输入法

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

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

Wear 专用 IME 过滤器

  • API 级别

    如需为 Wear 开发 IME,请记住,只有 Android 6.0(API 级别 23)及更高版本的平台才支持此功能。为确保 IME 只能安装在支持语音以外的输入法的穿戴式设备上,请将以下代码添加到应用的清单中:

        <uses-sdk android:minSdkVersion="23" />
        

    这表示应用需要 Android 6.0 或更高版本。如需了解详情,请参阅 API 级别<uses-sdk> 元素的文档。

  • 设备功能集

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

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

调用输入法

Wear 在手表上提供了用户设置,允许用户从已安装的 IME 列表中启用多个 IME。用户启用您的 IME 后,他们可通过以下方式调用您的 IME:

  • 使用 RemoteInput API 的通知或应用。
  • 具有 EditText 字段的 Wear 应用。触摸某个文本字段时,系统会将光标置于该字段中,并自动在焦点上显示 IME。

IME 一般注意事项

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

  • 设置默认操作

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

  • 使用全屏模式 IME

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

  • 处理 InputType 标记

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

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

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