Ab Android 11: Tastaturen und andere Eingabemethodeneditoren (IMEs) können Autofill-Vorschläge inline, in einer Vorschlagsleiste oder anstatt Vorschläge in einem Menü anzuzeigen. Da diese Vorschläge zum automatischen Ausfüllen personenbezogene Daten wie Passwörter oder Kreditkarteninformationen enthalten können, werden sie der IME erst angezeigt, wenn der Nutzer einen auswählt. Aktualisieren Sie IMEs und Autofill-Dienste wie Passwortmanager, um diese Funktion nutzen zu können. Wenn eine IME oder ein Autofill-Dienst die Inline-Autofill-Funktion nicht unterstützt, werden Vorschläge in einem Menü angezeigt, wie in Versionen vor Android 11.
Workflow
In diesem Ablauf bezeichnet IME die aktuelle Tastatur oder einen anderen Eingabeeditor und Vorschlagsanbieter den entsprechenden Anbieter des Autofill-Vorschlags. Je nach Eingabefeld und Nutzereinstellungen die Plattform oder ein Autofill-Service sein.
Der Nutzer fokussiert sich auf ein Eingabefeld, das die Autofill-Funktion auslöst, z. B. ein Passwort oder Kreditkarteneingabefeld ein.
Die Plattform fragt die aktuelle IME und den entsprechenden Vorschlagsanbieter ab, um festzustellen, ob sie die Inline-Autofill-Funktion unterstützen. Wenn entweder der IME oder der Der Anbieter für Vorschläge unterstützt Inline-Autofill nicht, der Vorschlag wird angezeigt in einem Menü, wie unter Android 10 und niedriger.
Die Plattform bittet den IME um eine Vorschlagsanfrage. Dieser Vorschlag request gibt die maximale Anzahl von Vorschlägen an, die angezeigt werden sollen, bietet Präsentationsspezifikationen für jeden Vorschlag. Die Präsentationsspezifikationen legen unter anderem die maximale Größe, die Textgröße, Farben und Schriftdaten fest, damit der Vorschlagsanbieter das Erscheinungsbild der IME anpassen kann.
Die Plattform bittet den Anbieter des Vorschlags, Anzahl der Vorschläge. Jeder Vorschlag enthält einen Callback, um ein
View
mit der Benutzeroberfläche des Vorschlags zu erstellen.Die Plattform informiert den IME darüber, dass Vorschläge verfügbar sind. Der IME wird angezeigt, Vorschläge hinzu, indem Sie die Callback-Methode aufrufen, um die
View
Zum Schutz der privaten Daten des Nutzers sieht die IME in dieser Phase nicht, was die Vorschläge sind.Wenn der Nutzer einen der Vorschläge auswählt, wird die IME auf die gleiche Weise informiert, als würde der Nutzer einen Vorschlag aus einem Systemmenü auswählen.
In den folgenden Abschnitten wird beschrieben, wie Sie Ihren IME oder den Autofill-Dienst für folgende Funktionen konfigurieren: unterstützen Inline-Autofill.
IMEs für die Unterstützung von Inline-Autofill konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie Ihre IME so konfigurieren, dass sie das Inline-Autofill unterstützt. Wenn Ihre IME die automatische Inline-Eingabe nicht unterstützt, werden auf der Plattform standardmäßig Vorschläge zur automatischen Eingabe in einem Menü angezeigt.
Dein IME muss das Attribut supportsInlinedSuggestions
auf
true
:
<input-method
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true"/>
Wenn die Plattform einen Autofill-Vorschlag benötigt, ruft sie die Methode InputMethodService.onCreateInlineSuggestionsRequest()
Ihrer IME auf. Sie müssen diese Methode implementieren. Gib eine InlineSuggestionsRequest
zurück und gib Folgendes an:
- Wie viele Vorschläge Ihre IME benötigt.
Ein
InlinePresentationSpec
für jeden Vorschlag, das festlegt, wie der Vorschlag präsentiert werden muss.
Wenn die Plattform Vorschläge hat, ruft sie die Methode onInlineSuggestionsResponse()
Ihrer IME auf und übergibt einen InlineSuggestionsResponse
mit den Vorschlägen. Sie müssen diese Methode implementieren. Rufen Sie in Ihrer Implementierung die Methode InlineSuggestionsResponse.getInlineSuggestions()
auf, um die Liste der Vorschläge abzurufen, und maximieren Sie dann jeden Vorschlag, indem Sie die Methode InlineSuggestion.inflate()
aufrufen.
Autofill-Dienste für die Unterstützung von Inline-Autofill konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie den Autofill-Dienst für die Inline-Unterstützung konfigurieren Autofill. Wenn deine App Inline-Autofill nicht unterstützt, wird standardmäßig die Plattform zeigt die Autofill-Vorschläge in einem Menü an.
Dein Autofill-Service muss das Attribut supportsInlinedSuggestions
auf
true
:
<autofill-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true"/>
Wenn für den IME Autofill-Vorschläge erforderlich sind, ruft die Plattform Ihre Autofill-Funktion auf
des Dienstes
onFillRequest()
genau wie bei Versionen unter Android 11. Ihre
Der Dienst muss das übergebene Objekt FillRequest
aufrufen
getInlineSuggestionsRequest()
, um die vom IME erstellten InlineSuggestionsRequest
abzurufen. Die
InlineSuggestionsRequest
gibt an, wie viele Inline-Vorschläge erforderlich sind
wie sie präsentiert werden müssen. Wenn der IME keine Inline-Vorschläge unterstützt,
gibt die Methode null
zurück.
Ihr Autofill-Dienst erstellt InlinePresentation
-Objekte bis zur maximalen Anzahl, die in der InlineSuggestionsRequest
angefordert wurde.
Ihre Präsentationen müssen den Größenbeschränkungen entsprechen, die im
InlineSuggestionsRequest
Wenn Sie Ihre Vorschläge an die IME zurückgeben möchten, rufen Sie für jeden Vorschlag einmal Dataset.Builder.setValue()
auf. Android 11 bietet Versionen von Dataset.Builder.setValue()
, die Inline-Vorschläge unterstützen.