Создайте редакторы методов ввода на Wear

Wear OS поддерживает не только голосовые методы ввода, но и расширяет возможности редактора методов ввода (IME) Android. Платформа IME обеспечивает поддержку виртуальных экранных клавиатур, которые позволяют пользователям вводить текст в виде нажатий клавиш, рукописного ввода или жестов.

Пользователи Wear OS могут выбирать между различными вариантами ввода с помощью удаленного ввода. Эти параметры включают в себя:

  • Диктант
  • Эмодзи
  • Готовые ответы
  • Умный ответ
  • IME по умолчанию

Создайте метод ввода для Wear

Платформа Android предоставляет стандартную платформу для создания IME. Чтобы создать IME для Wear OS, вам необходимо оптимизировать IME для ограниченного размера экрана носимого устройства.

Фильтры IME для Wear OS

Чтобы узнать, как создать метод ввода для Wear OS, следуйте руководству по созданию метода ввода на мобильных телефонах. Затем добавьте фильтры Google Play из следующих разделов в файл манифеста, чтобы сделать его IME для Wear OS.

уровень API

Если вы разрабатываете IME для Wear OS, помните, что эта функция поддерживается только в Android 6.0 (уровень API 23) и более поздних версиях. Чтобы гарантировать, что ваш IME может быть установлен только на носимых устройствах, которые поддерживают методы ввода помимо голоса, добавьте в манифест вашего приложения следующее:

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

Наборы функций устройства

Чтобы контролировать фильтрацию вашего приложения с устройств, которые не поддерживают IME Wear OS, например iPhone, добавьте в манифест вашего приложения следующее:

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

Вызов метода ввода

Wear OS предоставляет пользовательские настройки на часах, которые позволяют пользователю включать несколько IME из списка установленных IME. Как только пользователь включит ваш IME, он сможет вызывать его из следующих мест:

  • Уведомление или приложение, использующее API RemoteInput .
  • Приложения Wear OS с полем EditText . Прикосновение к текстовому полю помещает курсор в поле и автоматически отображает IME в фокусе.

Общие соображения по IME

Вот некоторые моменты, которые следует учитывать при реализации IME для Wear:

  • Установите действие по умолчанию.

    Приложения RemoteInput и Wear OS ожидают только однострочного ввода текста. Всегда используйте клавишу Enter , чтобы вызвать вызов sendDefaultEditorAction , который заставляет приложение закрыть клавиатуру и перейти к следующему шагу или действию.

  • Используйте IME в полноэкранном режиме.

    Методы ввода в Wear OS занимают большую часть экрана, оставляя видимой лишь небольшую часть приложения. Использование полноэкранного режима обеспечивает оптимальное взаимодействие с пользователем независимо от пользовательского интерфейса приложения. В полноэкранном режиме ExtractedText обеспечивает зеркальное представление редактируемого текстового поля и может быть стилизован под остальную часть пользовательского интерфейса метода ввода. Дополнительные сведения о полноэкранном режиме см. в разделе InputMethodService .

  • Обработка флагов InputType .

    Как минимум, из соображений конфиденциальности, обработайте флаг InputType TYPE_TEXT_VARIATION_PASSWORD в вашем IME. Когда ваш IME находится в режиме пароля, убедитесь, что ваша клавиатура оптимизирована для одного нажатия клавиши, то есть автоматическое исправление орфографии, автоматическое завершение и ввод жестами отключены. Самое главное, клавиатура в режиме пароля должна поддерживать символы американского стандартного кода для обмена информацией (ASCII) независимо от языка ввода. Дополнительные сведения см. в разделе Указание типа метода ввода .

  • Укажите клавишу для переключения на следующий метод ввода.

    Android позволяет пользователям переключаться между всеми IME, поддерживаемыми платформой. В вашей реализации IME установите для логического значения supportsSwitchingToNextInputMethod значение true . Это позволяет вашему IME поддерживать механизм переключения, чтобы приложения могли переключаться на следующий IME, поддерживаемый платформой. Дополнительные сведения о том, как реализовать переключение между IME, см. в разделе Переключение между подтипами IME .