AccountManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers.
[Android.Runtime.Register("android/accounts/AccountManager", DoNotGenerateAcw=true)]
public class AccountManager : Java.Lang.Object
[<Android.Runtime.Register("android/accounts/AccountManager", DoNotGenerateAcw=true)>]
type AccountManager = class
inherit Object
- Vererbung
- Attribute
Hinweise
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. Der Benutzer gibt die Anmeldeinformationen (Benutzername und Kennwort) einmal pro Konto ein, und gewährt Anwendungen Zugriff auf Onlineressourcen mit "Ein-Klick"-Genehmigung.
Verschiedene Onlinedienste weisen unterschiedliche Methoden zur Behandlung von Konten und Authentifizierung auf, sodass der Konto-Manager austauschbare <Em>Authenticator</em-Module für verschiedene >Em-Kontotypen<>/em<> verwendet. Authentifikatoren (die von Dritten geschrieben werden können) verarbeiten die tatsächlichen Details der Überprüfung von Kontoanmeldeinformationen und speichern Kontoinformationen. Beispielsweise haben Google, Facebook und Microsoft Exchange jeder einen eigenen Authentifikator.
Viele Server unterstützen einen Begriff eines <Em-Authentifizierungstokens></em>, das verwendet werden kann, um eine Anforderung an den Server zu authentifizieren, ohne das tatsächliche Kennwort des Benutzers zu senden. (Authentifizierungstoken werden normalerweise mit einer separaten Anforderung erstellt, die die Anmeldeinformationen des Benutzers enthält.) AccountManager kann Authentifizierungstoken für Anwendungen generieren, sodass die Anwendung keine Kennwörter direkt verarbeiten muss. Authentifizierungstoken sind normalerweise wiederverwendbar und werden von AccountManager zwischengespeichert, müssen jedoch regelmäßig aktualisiert werden. Es liegt in der Verantwortung von Anwendungen, <Authentifizierungstoken zu emieren><>, wenn sie nicht mehr funktionieren, damit der AccountManager weiß, dass sie neu generiert werden müssen.
Anwendungen, die auf einen Server zugreifen, führen normalerweise die folgenden Schritte aus:
<ul><li>Rufen Sie eine Instanz von AccountManager mit #get(Context).
<li>Auflisten der verfügbaren Konten mit #getAccountsByType oder #getAccountsByTypeAndFeatures. Normalerweise sind Anwendungen nur an Konten mit einem bestimmten <Em-Typ></Em> interessiert, der den Authentifikator identifiziert. Konto <em-Features></Em> werden verwendet, um bestimmte Kontountertypen und -funktionen zu identifizieren. Sowohl der Kontotyp als auch die Features sind Authentifikatorspezifische Zeichenfolgen und müssen von der Anwendung in Abstimmung mit den bevorzugten Authentifikatoren bekannt sein.
<li>Wählen Sie ein oder mehrere der verfügbaren Konten aus, möglicherweise indem Sie den Benutzer um ihre Vorliebe bitten. Wenn keine geeigneten Konten verfügbar sind, wird der Benutzer möglicherweise aufgefordert, #addAccount ein Konto des entsprechenden Typs zu erstellen.
<li><b>Wichtig:</b> Wenn die Anwendung eine zuvor gespeicherte Kontoauswahl verwendet, muss sichergestellt werden, dass sich das Konto weiterhin in der Liste der konten befindet, die von #getAccountsByType. Das Anfordern eines Authentifizierungstokens für ein Konto auf dem Gerät führt zu einem nicht definierten Fehler.
<li>Fordern Sie ein Authentifizierungstoken für die ausgewählten Konten mithilfe einer der #getAuthToken Methoden oder verwandten Hilfsprogramme an. Informationen zur genauen Verwendung und Fehlerbehandlung finden Sie in der Beschreibung der einzelnen Methoden.
<li>Stellen Sie die Anforderung mithilfe des Authentifizierungstokens. Die Form des Authentifizierungstokens, das Format der Anforderung und das verwendete Protokoll sind für den Dienst spezifisch, auf den Sie zugreifen. Die Anwendung kann beliebige Netzwerk- und Protokollbibliotheken verwenden.
<li><b>Wichtig:</b> Wenn die Anforderung mit einem Authentifizierungsfehler fehlschlägt, kann es sein, dass ein zwischengespeichertes Authentifizierungstoken veraltet ist und vom Server nicht mehr berücksichtigt wird. Die Anwendung muss aufrufen #invalidateAuthToken , um das Token aus dem Cache zu entfernen, andernfalls schlägt der Fehler bei Anforderungen fort! Nach dem Ungültigmachen des Authentifizierungstokens kehren Sie sofort zum obigen Schritt "Anfordern eines Authentifizierungstokens" zurück. Wenn der Prozess das zweite Mal fehlschlägt, kann er als "echten" Authentifizierungsfehler behandelt werden, und der Benutzer hat benachrichtigt oder andere geeignete Aktionen ausgeführt.
</ul>
Einige AccountManager-Methoden müssen möglicherweise mit dem Benutzer interagieren, um Anmeldeinformationen einzugeben, Optionen darzustellen oder den Benutzer aufzufordern, ein Konto hinzuzufügen. Der Aufrufer kann auswählen, ob AccountManager die erforderliche Benutzeroberfläche direkt startet und auf den Benutzer wartet oder eine Absicht zurückgibt, die der Aufrufer zum Starten der Schnittstelle verwenden kann, oder (in einigen Fällen), um eine Benachrichtigung zu installieren, die der Benutzer jederzeit zum Starten der Benutzeroberfläche auswählen kann. Damit AccountManager die Schnittstelle direkt startet, muss der Aufrufer den aktuellen Vordergrundkontext Activity angeben.
Viele AccountManager-Methoden verwenden AccountManagerCallback und Handler als Parameter. Diese Methoden werden sofort zurückgegeben und asynchron ausgeführt. Wenn ein Rückruf bereitgestellt wird, AccountManagerCallback#run wird der Thread des Handlers beim Abschluss der Anforderung erfolgreich oder nicht aufgerufen. Das Ergebnis wird durch Aufrufen AccountManagerFuture#getResult() der AccountManagerFuture von der Methode zurückgegebenen (und auch an den Rückruf übergeben) abgerufen. Diese Methode wartet auf den Abschluss des Vorgangs (falls erforderlich) und gibt entweder das Ergebnis zurück oder löst eine Ausnahme aus, wenn während des Vorgangs ein Fehler aufgetreten ist. Um die Anforderung synchron zu stellen, rufen Sie AccountManagerFuture#getResult() sofort auf, um die Zukunft von der Methode zu empfangen. Es muss kein Rückruf bereitgestellt werden.
Anforderungen, die blockiert werden können, einschließlich AccountManagerFuture#getResult(), dürfen niemals im Hauptereignisthread der Anwendung aufgerufen werden. Diese Vorgänge lösen aus IllegalStateException , wenn sie im Hauptthread verwendet werden.
Java Dokumentation für android.accounts.AccountManager.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| AccountManager(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
Felder
| Name | Beschreibung |
|---|---|
| ActionAccountRemoved |
Aktion, die vom AccountsService als Übertragungsabsicht gesendet wird, wenn ein Konto entfernt oder umbenannt wird. |
| ActionAuthenticatorIntent | |
| AuthenticatorAttributesName | |
| AuthenticatorMetaDataName | |
| ErrorCodeBadArguments | |
| ErrorCodeBadAuthentication | |
| ErrorCodeBadRequest | |
| ErrorCodeCanceled | |
| ErrorCodeInvalidResponse | |
| ErrorCodeNetworkError | |
| ErrorCodeRemoteException | |
| ErrorCodeUnsupportedOperation | |
| KeyAccountAuthenticatorResponse | |
| KeyAccountManagerResponse | |
| KeyAccountName |
Bündelschlüssel, der für den |
| KeyAccounts | |
| KeyAccountSessionBundle |
Bündelschlüssel, der für ein |
| KeyAccountStatusToken |
Bündelschlüssel, der für das |
| KeyAccountType |
Bündelschlüssel, der für den |
| KeyAndroidPackageName |
Das Android-Paket des Aufrufers wird im Optionsbundle durch das |
| KeyAuthenticatorTypes | |
| KeyAuthFailedMessage | |
| KeyAuthtoken |
Bündelschlüssel, der für den Authentifizierungstokenwert in Ergebnissen |
| KeyAuthTokenLabel | |
| KeyBooleanResult | |
| KeyCallerPid |
Die Prozess-ID der Aufrufer-App. |
| KeyCallerUid |
Die UID der Anrufer-App. |
| KeyErrorCode | |
| KeyErrorMessage | |
| KeyIntent |
Bündelschlüssel, der für eine |
| KeyLastAuthenticatedTime |
Der Bündelschlüssel, der verwendet wird, um die Anmeldeinformationen des Kontos zuletzt erfolgreich zu authentifizieren. |
| KeyPassword |
Bündelschlüssel, der verwendet wird, um das Kennwort direkt in Optionen |
| KeyUserdata | |
| LoginAccountsChangedAction |
Aktion, die vom AccountsService als Übertragungsabsicht gesendet wird, wenn Konten hinzugefügt, Konten entfernt werden oder die Anmeldeinformationen eines Kontos (gespeichertes Kennwort usw.) geändert werden. |
| PackageNameKeyLegacyNotVisible |
Schlüssel zum Festlegen der Standardsichtbarkeit für Anwendungen, die bedingungen in |
| PackageNameKeyLegacyVisible |
Schlüssel zum Festlegen der Sichtbarkeit für Anwendungen, die eine der folgenden Bedingungen erfüllen: <ul><li>Target API level below |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| JniPeerMembers |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
Methoden
| Name | Beschreibung |
|---|---|
| AddAccount(String, String, String[], Bundle, Activity, IAccountManagerCallback, Handler) |
Fordert den Benutzer auf, ein Konto eines angegebenen Typs hinzuzufügen. |
| AddAccountExplicitly(Account, String, Bundle, IDictionary<String,Integer>) |
Fügt dem AccountManager direkt ein Konto hinzu. |
| AddAccountExplicitly(Account, String, Bundle) |
Fügt dem AccountManager direkt ein Konto hinzu. |
| AddOnAccountsUpdatedListener(IOnAccountsUpdateListener, Handler, Boolean, String[]) |
Fügt dieser |
| AddOnAccountsUpdatedListener(IOnAccountsUpdateListener, Handler, Boolean) |
Fügt dieser |
| BlockingGetAuthToken(Account, String, Boolean) |
Dieser Komforthilfsprogramm ruft synchron ein Authentifizierungstoken mit |
| ClearPassword(Account) |
Vergessen Sie ein gespeichertes Kennwort. |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| ConfirmCredentials(Account, Bundle, Activity, IAccountManagerCallback, Handler) |
Bestätigt, dass der Benutzer das Kennwort für ein Konto kennt, um sicherzustellen, dass er der Besitzer des Kontos ist. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| EditProperties(String, Activity, IAccountManagerCallback, Handler) |
Bietet dem Benutzer die Möglichkeit, die Einstellungen eines Authentifikators zu ändern. |
| Equals(Object) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| FinishSession(Bundle, Activity, IAccountManagerCallback, Handler) |
Beendet die sitzung gestartet von |
| FromContext(Context) |
Ruft eine Konto-Manager-Instanz ab, die einem Kontext zugeordnet ist. |
| Get(Context) |
Ruft eine AccountManager-Instanz ab, die einem Kontext zugeordnet ist. |
| GetAccounts() |
Listet alle Konten auf, die unabhängig vom Typ für den Anrufer sichtbar sind. |
| GetAccountsAndVisibilityForPackage(String, String) |
Ruft alle Konten des angegebenen Typs und deren Sichtbarkeit für ein bestimmtes Paket ab. |
| GetAccountsByType(String) |
Listet alle Konten eines bestimmten Typs auf, die für den Aufrufer sichtbar sind. |
| GetAccountsByTypeAndFeatures(String, String[], IAccountManagerCallback, Handler) |
Listet alle Konten eines Typs auf, die bestimmte Features aufweisen. |
| GetAccountsByTypeForPackage(String, String) |
Gibt die Konten zurück, die für das angegebene Paket in einer Umgebung sichtbar sind, in der einige Apps nicht berechtigt sind, alle Konten anzuzeigen. |
| GetAccountVisibility(Account, String) |
Verschaffen Sie sich die Sichtbarkeit bestimmter Konten für bestimmte Anwendungen. |
| GetAuthenticatorTypes() |
Listet die aktuell registrierten Authentifikatoren auf. |
| GetAuthToken(Account, String, Boolean, IAccountManagerCallback, Handler) |
Veraltet.
Ruft ein Authentifizierungstoken des angegebenen Typs für ein bestimmtes Konto ab, optional wird eine Benachrichtigung ausgelöst, wenn der Benutzer Anmeldeinformationen eingeben muss. |
| GetAuthToken(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Ruft ein Authentifizierungstoken des angegebenen Typs für ein bestimmtes Konto ab und fordert den Benutzer bei Bedarf zur Eingabe von Anmeldeinformationen auf. |
| GetAuthToken(Account, String, Bundle, Boolean, IAccountManagerCallback, Handler) |
Ruft ein Authentifizierungstoken des angegebenen Typs für ein bestimmtes Konto ab, optional wird eine Benachrichtigung ausgelöst, wenn der Benutzer Anmeldeinformationen eingeben muss. |
| GetAuthTokenByFeatures(String, String, String[], Activity, Bundle, Bundle, IAccountManagerCallback, Handler) |
Dieser Komforthilfsprogramm kombiniert die Funktionalität von |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| GetPackagesAndVisibilityForAccount(Account) |
Gibt Paketnamen und Sichtbarkeit zurück, die explizit für ein bestimmtes Konto festgelegt wurden. |
| GetPassword(Account) |
Ruft das gespeicherte Kennwort ab, das dem Konto zugeordnet ist. |
| GetPreviousName(Account) |
Ruft den vorherigen Namen ab, der dem Konto zugeordnet ist, oder |
| GetUserData(Account, String) |
Ruft die Benutzerdaten ab, die mit dem Konto verknüpft sind. |
| HasFeatures(Account, String[], IAccountManagerCallback, Handler) |
Ermittelt, ob ein bestimmtes Konto über alle angegebenen Features verfügt. |
| InvalidateAuthToken(String, String) |
Entfernt ein Authentifizierungstoken aus dem Cache des AccountManagers. |
| IsCredentialsUpdateSuggested(Account, String, IAccountManagerCallback, Handler) |
Überprüft, ob |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| NewChooseAccountIntent(Account, IList<Account>, String[], Boolean, String, String, String[], Bundle) |
Veraltet zugunsten von |
| NewChooseAccountIntent(Account, IList<Account>, String[], String, String, String[], Bundle) |
Gibt eine Absicht an, |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAccountAuthenticated(Account) |
Benachrichtigt das System, dass das Konto soeben authentifiziert wurde. |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| PeekAuthToken(Account, String) |
Ruft ein Authentifizierungstoken aus dem Cache des AccountManagers ab. |
| RemoveAccount(Account, Activity, IAccountManagerCallback, Handler) |
Entfernt ein Konto aus dem AccountManager. |
| RemoveAccount(Account, IAccountManagerCallback, Handler) |
Entfernt ein Konto aus dem AccountManager. |
| RemoveAccountExplicitly(Account) |
Entfernt ein Konto direkt. |
| RemoveOnAccountsUpdatedListener(IOnAccountsUpdateListener) |
Entfernt einen |
| RenameAccount(Account, String, IAccountManagerCallback, Handler) |
Benennen Sie die angegebene Umbenennung |
| SetAccountVisibility(Account, String, AccountVisibility) |
Legen Sie den Sichtbarkeitswert eines bestimmten Kontos auf bestimmte Pakete fest. |
| SetAuthToken(Account, String, String) |
Fügt dem AccountManager-Cache für ein Konto ein Authentifizierungstoken hinzu. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPassword(Account, String) |
Legt ein gespeichertes Kennwort fest oder wird vergessen. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| SetUserData(Account, String, String) |
Legt einen Benutzerdatenschlüssel für ein Konto fest. |
| StartAddAccountSession(String, String, String[], Bundle, Activity, IAccountManagerCallback, Handler) |
Fordert den Benutzer auf, sich mit einem Konto eines bestimmten Typs zu authentifizieren. |
| StartUpdateCredentialsSession(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Fordert den Benutzer auf, ein neues Kennwort für das Konto einzugeben, aber die gespeicherten Anmeldeinformationen für das Konto nicht zu aktualisieren, bis |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| UpdateCredentials(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Fordert den Benutzer auf, ein neues Kennwort für ein Konto einzugeben und die gespeicherten Anmeldeinformationen für das Konto zu aktualisieren. |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Ereignisse
| Name | Beschreibung |
|---|---|
| AccountsUpdated |
Tritt auf, wenn der Konto-Manager beginnt und wann immer sich die Gruppe von Konten ändert. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. (Geerbt von JavaObject) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Diese Klasse bietet Zugriff auf eine zentralisierte Registrierung der Onlinekonten des Benutzers. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |