Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ab Android 15 Beta 2 können Entwickler in Kombination mit androidx.credentials:1.5.0-alpha01 bestimmte Ansichten wie Nutzername- oder Passwortfelder mit Credential Manager-Anfragen verknüpfen. Wenn der Nutzer den Fokus auf eine dieser Ansichten legt, wird die entsprechende Anfrage an Credential Manager gesendet. Die resultierenden Anmeldedaten werden anbieterübergreifend zusammengefasst und in Autofill-Benutzeroberflächen wie Inline-Vorschlägen auf der Tastatur oder Drop-down-Vorschlägen angezeigt.
Diese Funktion kann als Fallback verwendet werden, wenn Nutzer die Kontoauswahl des Credential Manager versehentlich schließen und dann auf die entsprechenden Felder tippen.
Die Jetpack androidx.credentials-Bibliothek ist der bevorzugte Endpunkt für Entwickler, die diese Funktion verwenden möchten.
Abbildung 1:Autofill-Ergebnisse mit Anmeldedaten mit Passwort, Passkey und „Mit Google anmelden“.
Implementierung
Wenn Sie mit Credential Manager Anmeldedaten in den Ergebnissen für das automatische Ausfüllen anzeigen möchten, verwenden Sie die Standardimplementierung, um ein GetCredentialRequest zu erstellen und es dann für die relevanten Ansichten festzulegen. Die Verarbeitung der Antwort ist unabhängig davon, ob die Antwort vom getCredential-API-Aufruf oder vom PendingGetCredentialRequest stammt, wie im folgenden Beispiel gezeigt.
Erstellen Sie zuerst ein GetCredentialRequest:
// Retrieves the user's saved password for your app.valgetPasswordOption=GetPasswordOption()// Get a passkey from the user's public key credential provider.valgetPublicKeyCredentialOption=GetPublicKeyCredentialOption(requestJson=requestJson)valgetCredRequest=GetCredentialRequest(listOf(getPasswordOption,getPublicKeyCredentialOption))
Rufen Sie als Nächstes die getCredential API auf. Daraufhin wird die Auswahl des Credential Managers angezeigt.
coroutineScope{try{valresult=credentialManager.getCredential(context=activityContext,// Use an activity-based context.request=getCredRequest)handleSignIn(result)}catch(e:GetCredentialException){handleFailure(e)}}
Aktivieren Sie schließlich die Funktion zum automatischen Ausfüllen. Legen Sie getCredRequest auf relevante Ansichten (z. B. username, password) fest, damit Anmeldedaten in der automatischen Vervollständigung angezeigt werden, wenn der Nutzer mit diesen Ansichten interagiert.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-21 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-21 (UTC)."],[],[],null,["# Integrate Credential Manager with autofill\n\nStarting with Android 15 Beta 2, paired with\n[androidx.credentials:1.5.0-alpha01](/jetpack/androidx/releases/credentials#version_15_2), developers can link specific views like\nusername or password fields with Credential Manager requests. When the user\nfocuses on one of these views, the corresponding request is sent to Credential\nManager. The resulting credentials are aggregated across providers and displayed\nin autofill UIs, such as keyboard inline suggestions, or drop-down suggestions.\nThis feature can be used as a fallback when users accidentally dismiss the\nCredential Manager account selector and then tap on the relevant fields.\n\nThe ***Jetpack androidx.credentials*** library is the preferred endpoint for\ndevelopers to use for this feature.\n\n\u003cbr /\u003e\n\n\n**Figure 1:** Autofill results with credentials using password, passkey, and\nSign in with Google.\n| **Note:** This feature is only available for `View` objects at this time.\n\nImplementation\n--------------\n\nTo use Credential Manager to show credentials in autofill results, use the\n[standard implementation](/identity/sign-in/credential-manager) to build a `GetCredentialRequest` and then set it\nto the relevant views. The response handling is the same, whether the response\ncomes from the `getCredential` API call or the `PendingGetCredentialRequest`, as\nshown in the following example.\n\nFirst, construct a `GetCredentialRequest`: \n\n // Retrieves the user's saved password for your app.\n val getPasswordOption = GetPasswordOption()\n\n // Get a passkey from the user's public key credential provider.\n val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(\n requestJson = requestJson\n )\n\n val getCredRequest = GetCredentialRequest(\n listOf(getPasswordOption, getPublicKeyCredentialOption)\n )\n\nNext, call the `getCredential` API. This displays the Credential Manager\nselector. \n\n coroutineScope {\n try {\n val result = credentialManager.getCredential(\n context = activityContext, // Use an activity-based context.\n request = getCredRequest\n )\n handleSignIn(result)\n } catch (e: GetCredentialException) {\n handleFailure(e)\n }\n }\n\nFinally, enable the autofill experience. Set the `getCredRequest` to relevant\nviews (such as `username, password`) to enable credential results in autofill\nwhen the user interacts with these views.\n**Note:** The `setPendingGetCredentialRequest` is an *extension API* in the androidx.credentials library, and is called differently between Kotlin and Java. \n\n usernameEditText.pendingGetCredentialRequest = PendingGetCredentialRequest(\n getCredRequest\n ) { response -\u003e\n handleSignIn(response)\n }\n\n passwordEditText.pendingGetCredentialRequest = PendingGetCredentialRequest(\n getCredRequest\n ) { response -\u003e\n handleSignIn(response)\n }"]]