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

Wear OS by Google incluye compatibilidad con otros métodos de entrada además de la voz cuando se extiende el framework del editor de método de entrada de Android (IME). El marco 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 pueden elegir entre varias opciones de entrada desde Entrada remota. Estas son algunas opciones:

  • Dictado
  • Emojis
  • Respuestas almacenadas
  • Respuesta inteligente
  • IME predeterminado

Figura 1: Métodos de entrada de muestra

Wear incluye el Editor de métodos de entrada (IME) predeterminado del sistema y comparte públicamente las API de IME a fin de que desarrolladores externos creen IME personalizados para Wear. Las API de IME utilizadas para dispositivos Wear son las mismas que las de otros factores de forma, aunque el uso es ligeramente diferente debido a las propiedades de capacidad limitada de la pantalla.

Este documento proporciona orientación que puede ayudarte a crear un IME específico para Wear

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

La plataforma Android proporciona un marco de trabajo estándar para la creación de IME. Si quieres crear un IME específico para Wear, tienes que optimizar el tuyo a fin de que se adapte a un tamaño de pantalla limitada.

Si quieres aprender a crear un método de entrada para Wear, sigue la guía sobre Cómo crear un método de entrada en teléfonos y agrega los siguientes filtros de Google Play en tu manifiesto a fin de convertirlo en un IME específico para Wear.

Filtros de IME específicos para Wear

  • Nivel de API

    Si estás desarrollando un IME para Wear, recuerda que la función solo es compatible con Android 6.0 (nivel de API 23) y versiones posteriores de la plataforma. Para asegurarte de que tu IME solo pueda instalarse en dispositivos wearables que admitan otros métodos de entrada además de la voz, agrega lo siguiente al manifiesto de tu app:

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

    Esto indica que tu app requiere Android 6.0 o una versión posterior. Para obtener más información, consulta los niveles de API y la documentación del elemento <uses-sdk>.

  • Conjunto de atributos del dispositivo

    Para controlar cómo se filtra tu app desde los dispositivos que no son compatibles con el IME para Wear (por ejemplo, en el teléfono), 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 proporciona la configuración del usuario en el reloj que le permite habilitar varios IME de la lista de IME instalados. Una vez que los usuarios habilitan tu IME, pueden invocarlo desde las siguientes opciones:

  • Una notificación o app con la API de RemoteInput
  • Apps de Wear con un campo EditText (cuando se toca un campo de texto, se coloca el cursor sobre él y se muestra automáticamente el IME)

Consideraciones generales de IME

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

  • Establece la acción predeterminada

    RemoteInput y las apps para Wear solo 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 el modo de pantalla completa del IME

    En Wear, los métodos de entrada consumen la mayor parte de la pantalla y dejan muy poco espacio para la app; el uso del modo de pantalla completa garantiza una experiencia del usuario óptima independientemente de la interfaz de la app. En el modo de pantalla completa, un ExtractEditText proporciona una vista reflejada 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. Si quieres obtener más información sobre el modo de pantalla completa, consulta InputMethodService.

  • Controla funciones experimentales de tipo de entrada

    Por razones de privacidad, como mínimo, debes controlar la marca InputType TYPE_TEXT_VARIATION_PASSWORD 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 (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 ASCII, independientemente del lenguaje de entrada. Para obtener más información, consulta Cómo 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 fácilmente entre todos los IME compatibles con la plataforma. En tu implementación de IME, configura el booleano supportsSwitchingToNextInputMethod = true a fin de habilitar tu IME para que sea compatible con el mecanismo de cambio (para que las apps puedan cambiar al siguiente IME compatible con la plataforma). Para obtener más información sobre cómo implementar el cambio entre IME, consulta Cómo cambiar entre subtipos de IME.