Cómo crear editores de métodos de entrada en Wear

Wear OS brinda compatibilidad con métodos de entrada además de la voz, extendiendo el framework del editor de método de entrada (IME) de Android. El framework del IME es compatible con teclados virtuales en pantalla, que permiten a los usuarios ingresar texto en forma de teclas, escritura a mano o gestos.

Los usuarios de Wear OS pueden elegir entre varias opciones de entrada desde Entrada remota. Estas son algunas opciones:

  • Dictado
  • Emojis
  • Respuestas almacenadas
  • Respuesta inteligente
  • IME predeterminado
Ejemplos de métodos de entrada.
Figura 1. Métodos de entrada de muestra

Wear OS incluye un IME predeterminado del sistema y también permite que desarrolladores externos creen IME personalizados. Las APIs de IME que se usan para dispositivos Wear OS son las mismas que las de otros factores de forma, aunque el uso es ligeramente diferente debido al tamaño limitado de la pantalla.

En este documento, se brinda ayuda, de modo que puedas crear un IME específico para Wear OS.

Cómo crear un método de entrada para Wear

La plataforma de Android proporciona un framework estándar para la creación de IME. Si quieres crear un IME específico para Wear OS, tienes que optimizar el tuyo para que se adapte al tamaño limitado de la pantalla de un wearable.

Filtros de IME específicos para Wear OS

Si quieres aprender a crear un método de entrada para Wear OS, sigue la guía para crear un método de entrada en teléfonos celulares. Luego, agrega los siguientes filtros de Google Play en tu manifiesto para convertirlo en un IME específico para Wear OS.

Nivel de API

Si estás desarrollando un IME para Wear OS, recuerda que la función solo es compatible con Android 6.0 (nivel de API 23) y versiones posteriores. Para asegurarte de que tu IME solo pueda instalarse en dispositivos wearables que admitan otros métodos de entrada además de la voz, configura el valor minSdkVersion en el archivo build.gradle.kts de tu app en 23 o una versión posterior.

Conjunto de atributos del dispositivo

Para controlar el modo en que se filtra tu app desde los dispositivos que no son compatibles con el IME para Wear OS, por ejemplo, en un iPhone, agrega lo siguiente al manifiesto de tu app:

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

Cómo invocar un método de entrada

Wear OS proporciona la configuración del usuario en el reloj que le permite habilitar varios IME de la lista de IME instalados. Una vez que el usuario habilita tu IME, puede invocarlo desde una notificación o una app con la RemoteInput API.

Consideraciones generales de IME

Aquí hay algunas cosas que se deben tener en cuenta cuando se implementa un IME para Wear:

  • Establece una acción predeterminada

    RemoteInput y las apps para Wear OS esperan una entrada de texto de una sola línea. La tecla Intro siempre debe activar una llamada a sendDefaultEditorAction, lo que hace que la app descarte el teclado y continúe con el paso o la acción siguiente.

  • Usa un IME en modo de pantalla completa

    Los métodos de entrada en Wear OS cubren la mayor parte de la pantalla y dejan muy poco visible la app. El uso del modo de pantalla completa ofrece una experiencia del usuario óptima independientemente de la IU de la app. En el modo de pantalla completa, un objeto ExtractedText proporciona una vista duplicada del campo de texto que se está editando y es posible ajustar ese objeto para que combine con el resto de la IU del método de entrada. Para obtener más información sobre el modo de pantalla completa, consulta InputMethodService.

  • Controla las marcas de InputType

    Por cuestiones de privacidad, como mínimo, debes controlar la marca TYPE_TEXT_VARIATION_PASSWORD de InputType en tu IME. Cuando el IME esté en modo de contraseña, asegúrate de que el teclado esté optimizado para presionar una sola tecla (es decir, la corrección ortográfica, la finalización automática y la entrada de gestos deben estar inhabilitadas). Lo más importante es que cuando el teclado esté en el modo de contraseña, deberá admitir símbolos de American Standard Code for Information Interchange (ASCII), independientemente del idioma de escritura. Si quieres obtener más información, consulta el artículo para especificar el tipo de método de entrada.

  • Proporciona una clave para ir al siguiente método de entrada

    Android les permite a los usuarios cambiar entre todos los IME compatibles con la plataforma. En tu implementación de IME, configura el booleano supportsSwitchingToNextInputMethod en true, lo que permite que tu IME sea compatible con el mecanismo de cambio para que las apps puedan cambiar al siguiente IME compatible con la plataforma. Si quieres obtener más información para implementar el cambio entre IME, consulta el artículo para cambiar entre subtipos de IME.