Otomatik doldurmayı IME'ler ve otomatik doldurma hizmetleriyle entegre edin

Android 11'den itibaren, klavyeler ve diğer giriş yöntemi düzenleyicileri (IME'ler), otomatik doldurma önerilerini satır içinde, bir öneri şeridinde gösterebilir veya bir menü hazırlayıp sisteme benzer bir liste hazırlayabilirsiniz. Bu otomatik doldurma önerileri şifre veya kredi kartı bilgileri gibi özel veriler içerebileceğinden, kullanıcı bir öneriyi seçene kadar öneriler IME'den gizlenir. Bu özelliği kullanmak için IME'leri ve şifre yöneticileri gibi otomatik doldurma hizmetlerini güncelleyin. IME veya otomatik doldurma hizmeti satır içi öğeleri desteklemiyorsa sürümden önceki sürümlerde olduğu gibi, öneriler bir menüde gösterilir. Android 11.

İş akışı

Bu akışta IME, mevcut klavye veya diğer giriş düzenleyicidir. öneri sağlayıcı, otomatik doldurma önerisinin uygun sağlayıcısı anlamına gelir. Giriş alanına ve kullanıcının ayarlarına bağlı olarak öneri sağlayıcı platform veya otomatik doldurma hizmeti olabilir.

  1. Kullanıcı, otomatik doldurmayı tetikleyen bir giriş alanına (ör. şifre veya kredi kartı giriş alanına girin.

  2. Platform, satır içi otomatik doldurmayı destekleyip desteklemediklerini görmek için mevcut IME'yi ve uygun öneri sağlayıcıyı sorgular. IME veya öneri sağlayıcı satır içi otomatik doldurmayı desteklemiyorsa öneri, Android 10 ve önceki sürümlerde olduğu gibi bir menüde gösterilir.

  3. Platform, IME'den öneri isteği göndermesini ister. Bu öneri isteği, görüntülenecek maksimum öneri sayısını belirtir ve Her öneri için sunum özellikleri sağlar. Sunum özellikleri metin boyutu, renkler ve yazı tipi verileri gibi şeyleri belirler. IME'nin görünümüne ve tarzına uygun olduğundan emin olun.

  4. Platform, öneri sağlayıcıdan istenen bilgiyi öneri sayısını görebilirsiniz. Her öneri, önerinin kullanıcı arayüzünü içeren bir View oluşturmak için geri çağırma işlevi içerir.

  5. Platform, IME'yi önerilerin hazır olduğu konusunda bilgilendirir. IME, her önerinin View değerini doldurmak için geri çağırma yöntemini çağırarak önerileri gösterir. Kullanıcının gizli bilgilerini korumak için IME, bu aşamada önerilerin ne olduğunu görmez.

  6. Kullanıcı önerilerden birini seçerse IME'ye de aynı şekilde bilgi verilir. kullanıcı sistem menüsünden bir öneri seçmiş gibi.

Aşağıdaki bölümlerde, satır içi otomatik doldurmayı desteklemek için IME'nizi veya otomatik doldurma hizmetinizi nasıl yapılandıracağınız açıklanmaktadır.

Satır içi otomatik doldurmayı desteklemek için IME'leri yapılandırma

Bu bölümde, satır içi otomatik doldurmayı desteklemek için IME'nizi nasıl yapılandıracağınız açıklanmaktadır. Eğer IME'niz satır içi otomatik doldurmayı desteklemiyor. Platform varsayılan olarak satır içi otomatik doldurmayı gösteriyor Otomatik doldurma önerilerini görebilirsiniz.

IME'niz supportsInlinedSuggestions özelliğini true olarak ayarlamalıdır:

<input-method
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsInlineSuggestions="true"/>

Platformun otomatik doldurma önerisine ihtiyacı olduğunda IME'nizin InputMethodService.onCreateInlineSuggestionsRequest() yöntemini çağırır. Bu yöntemi uygulamanız gerekir. Döndür InlineSuggestionsRequest şunları belirtin:

  • IME'nizin kaç öneri istediği.
  • InlinePresentationSpec bu da önerinin nasıl sunulması gerektiğini tanımlayan bir ifadedir.

Platformda öneriler olduğunda, IME'nizin onInlineSuggestionsResponse() yöntemini çağırır ve önerileri içeren bir InlineSuggestionsResponse geçirir. Bu yöntemi uygulamanız gerekir. uygulama, çağrı, uygulama InlineSuggestionsResponse.getInlineSuggestions() sonra öneri listesini çağırarak her öneriyi şişirin InlineSuggestion.inflate() yöntemidir.

Satır içi otomatik doldurmayı desteklemek için otomatik doldurma hizmetlerini yapılandırma

Bu bölümde, satır içi otomatik doldurmayı desteklemek için otomatik doldurma hizmetinizi nasıl yapılandıracağınız açıklanmaktadır. Uygulamanız satır içi otomatik doldurma özelliğini desteklemiyorsa platform varsayılan olarak otomatik doldurma önerilerini bir menüde gösteriyor.

Otomatik doldurma hizmetiniz supportsInlinedSuggestions özelliğini true olarak ayarlamalıdır:

<autofill-service
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsInlineSuggestions="true"/>

IME'nin otomatik doldurma önerilerine ihtiyacı olduğunda platform, Android 11'in altındaki sürümlerde olduğu gibi otomatik doldurma hizmetinizin onFillRequest() yöntemini çağırır. Ancak hizmetinizin, IME tarafından oluşturulan InlineSuggestionsRequest öğesini almak için iletilen FillRequest nesnesinin getInlineSuggestionsRequest() yöntemini çağırması gerekir. InlineSuggestionsRequest, kaç satır içi öneriye ihtiyaç duyulduğunu ve her birinin nasıl sunulacağını belirtir. IME satır içi önerileri desteklemiyorsa yöntem null döndürür.

Otomatik doldurma hizmetiniz, InlineSuggestionsRequest içinde istenen maksimum sayıya kadar InlinePresentation nesnesi oluşturur. Sunularınız, InlineSuggestionsRequest tarafından belirtilen boyut kısıtlamalarına uymalıdır. Önerlerinizi IME'ye döndürmek için her öneri için bir kez Dataset.Builder.setValue() simgesini çağırın. Android 11, satır içi önerileri desteklemek için Dataset.Builder.setValue() sürümleri sağlar.