Tworzenie edytorów metod wprowadzania na Wear

Wear OS obsługuje metody wprowadzania inne niż głosowe dzięki rozszerzeniu platformy edytora metody wprowadzania (IME) Androida. Platforma IME obsługuje wirtualne klawiatury ekranowe, które umożliwiają użytkownikom wprowadzanie tekstu za pomocą kliknięć klawiszy, pisma odręcznego lub gestów.

Użytkownicy Wear OS mogą wybierać spośród różnych opcji wprowadzania zdalnego. Dostępne są następujące opcje:

  • Dyktowanie
  • Emotikony
  • Szablony odpowiedzi
  • Inteligentna odpowiedź
  • Domyślny IME
Przykładowe metody wprowadzania.
Rysunek 1. Przykładowe metody wprowadzania.

Wear OS ma domyślny IME systemu, ale umożliwia też deweloperom zewnętrznym tworzenie niestandardowych IME. Interfejsy API IME używane w urządzeniach Wear OS są takie same jak w przypadku innych urządzeń, ale ich użycie jest nieco inne ze względu na ograniczony rozmiar ekranu.

W tym dokumencie znajdziesz wskazówki, które pomogą Ci utworzyć IME na Wear OS.

Tworzenie metody wprowadzania na Wear

Platforma Android udostępnia standardową platformę do tworzenia IME. Aby utworzyć IME na Wear OS, musisz zoptymalizować IME pod kątem ograniczonego rozmiaru ekranu urządzenia do noszenia.

Filtry IME na Wear OS

Aby dowiedzieć się, jak utworzyć metodę wprowadzania na Wear OS, postępuj zgodnie z instrukcjami tworzenia metody wprowadzania na telefonach. Następnie dodaj do pliku manifestu filtry Google Play z tych sekcji, aby utworzyć IME na Wear OS.

Poziom API

Jeśli tworzysz IME na Wear OS, pamiętaj, że ta funkcja jest obsługiwana tylko na Androidzie 6.0 (poziom API 23) i nowszych wersjach. Aby mieć pewność, że IME można zainstalować tylko na urządzeniach do noszenia, które obsługują metody wprowadzania inne niż głosowe, ustaw w pliku aplikacji build.gradle.kts wartość minSdkVersion na 23 lub wyższą.

Zestawy funkcji urządzenia

Aby kontrolować, jak aplikacja jest filtrowana na urządzeniach, które nie obsługują IME na Wear OS, np. na iPhone'ach, dodaj do manifestu aplikacji te elementy:

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

Wywoływanie metody wprowadzania

Wear OS udostępnia ustawienia użytkownika na zegarku, które umożliwiają włączenie wielu IME z listy zainstalowanych IME. Gdy użytkownik włączy Twój IME, może go wywołać z powiadomienia lub aplikacji za pomocą interfejsu API RemoteInput.

Ogólne kwestie dotyczące IME

Oto kilka kwestii, które należy wziąć pod uwagę podczas implementowania IME na Wear:

  • Ustaw działanie domyślne.

    RemoteInput i aplikacje Wear OS oczekują tylko wprowadzania tekstu w jednym wierszu. Zawsze używaj klawisza Enter, aby wywołać funkcję sendDefaultEditorAction, która powoduje zamknięcie klawiatury przez aplikację i przejście do następnego kroku lub działania.

  • Używaj IME w trybie pełnoekranowym.

    Metody wprowadzania na Wear OS zajmują większość ekranu, pozostawiając bardzo mało miejsca na aplikację. Używanie trybu pełnoekranowego zapewnia optymalne wrażenia użytkownika niezależnie od interfejsu aplikacji. W trybie pełnoekranowym ExtractedText zapewnia widok edytowanego pola tekstowego i można go dostosować, aby pasował do reszty interfejsu metody wprowadzania. Więcej informacji o trybie pełnoekranowym znajdziesz w artykule InputMethodService.

  • Obsługuj flagi InputType

    Z powodów związanych z prywatnością w IME należy obsługiwać co najmniej flagę InputType TYPE_TEXT_VARIATION_PASSWORD. Gdy IME jest w trybie hasła, upewnij się, że klawiatura jest zoptymalizowana pod kątem pojedynczego naciśnięcia klawisza, co oznacza, że automatyczne sprawdzanie pisowni, autouzupełnianie i wprowadzanie gestami są wyłączone. Co najważniejsze, klawiatura w trybie hasła musi obsługiwać symbole American Standard Code for Information Interchange (ASCII) niezależnie od języka wprowadzania. Więcej informacji znajdziesz w artykule Określanie typu metody wprowadzania.

  • Udostępnij klawisz do przełączania na następną metodę wprowadzania.

    Android umożliwia użytkownikom przełączanie się między wszystkimi IME obsługiwanymi przez platformę. W implementacji IME ustaw wartość logiczną supportsSwitchingToNextInputMethod na true. Dzięki temu IME będzie obsługiwać mechanizm przełączania, aby aplikacje mogły przełączać się na następny IME obsługiwany przez platformę. Więcej informacji o implementowaniu przełączania między IME znajdziesz w artykule Przełączanie między podtypami IME.