Android 11'den itibaren klavyeler ve diğer giriş yöntemi düzenleyiciler (IME'ler), sistem önerileri bir menüde göstermek yerine otomatik doldurma önerilerini satır içi, öneri şeridinde veya benzer bir yerde gösterebilir. 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 otomatik doldurma hizmetlerini (ör. şifre yöneticileri) güncelleyin. Bir IME veya otomatik doldurma hizmeti, satır içi otomatik doldurmayı desteklemiyorsa Android 11'den önceki sürümlerde olduğu gibi bir menüde öneriler gösterilir.
İş akışı
Bu akışta IME, mevcut klavyeyi veya diğer giriş düzenleyiciyi; öneri sağlayıcı ise otomatik doldurma önerisinin uygun sağlayıcısını ifade eder. Giriş alanına ve kullanıcının ayarlarına bağlı olarak öneri sağlayıcı platform veya otomatik doldurma hizmeti olabilir.
Kullanıcı, otomatik doldurmayı tetikleyen bir giriş alanına (ör. şifre veya kredi kartı giriş alanı) odaklanır.
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.
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 bir öneri için sunum özellikleri sağlar. Sunum özellikleri maksimum boyut, metin boyutu, renkler ve yazı tipi verileri gibi unsurları belirterek öneri sağlayıcının IME'nin görünümüne ve tarzına uymasını sağlar.
Platform, öneri sağlayıcıdan istenen sayıda öneri sunmasını ister. Her öneri, önerinin kullanıcı arayüzünü içeren bir
View
oluşturmak için geri çağırma işlevi içerir.Platform, IME'yi önerilerin hazır olduğu konusunda bilgilendirir. IME, her önerinin
View
değerini artırmak 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.Kullanıcı önerilerden birini seçerse IME, kullanıcı bir sistem menüsünden öneri seçiyormuş gibi bilgilendirilir.
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.
IME'leri satır içi otomatik doldurmayı destekleyecek şekilde 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. IME'niz satır içi otomatik doldurmayı desteklemiyorsa platform varsayılan olarak bir menüde otomatik doldurma önerileri gösterir.
IME'niz supportsInlinedSuggestions
özelliğini true
olarak ayarlamalıdır:
<input-method
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true"/>
Platformda otomatik doldurma önerisi gerektiğinde IME'nizin InputMethodService.onCreateInlineSuggestionsRequest()
yöntemini çağırır. Bu yöntemi uygulamanız gerekir. Aşağıdakileri belirten bir InlineSuggestionsRequest
döndürün:
- IME'nizin kaç öneri istediğini belirtir.
Her öneri için, önerinin nasıl sunulacağını tanımlayan bir
InlinePresentationSpec
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. Uygulamanızda, öneri listesini almak için InlineSuggestionsResponse.getInlineSuggestions()
işlevini çağırın, ardından her önerinin InlineSuggestion.inflate()
işlevini çağırarak önerileri doldurun.
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 doldurmayı desteklemiyorsa platform varsayılan olarak otomatik doldurma önerilerini bir menüde gösterir.
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'den önceki 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 bunların 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.