AccountManager Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente.
[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
- Ereditarietà
- Attributi
Commenti
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. L'utente immette le credenziali (nome utente e password) una volta per ogni account, concedendo alle applicazioni l'accesso alle risorse online con l'approvazione con un solo clic.
Diversi Servizi online hanno diversi modi di gestire gli account e l'autenticazione, quindi il responsabile account usa moduli di autenticazione em collegabili <em>per diversi <tipi di> account em</em><.> Gli autenticatori (che possono essere scritti da terze parti) gestiscono i dettagli effettivi della convalida delle credenziali dell'account e dell'archiviazione delle informazioni sull'account. Ad esempio, Google, Facebook e Microsoft Exchange hanno il proprio autenticatore.
Molti server supportano una certa nozione di <token> di autenticazione em</em>, che può essere usato per autenticare una richiesta al server senza inviare la password effettiva dell'utente. I token di autenticazione vengono in genere creati con una richiesta separata che include le credenziali dell'utente. AccountManager può generare token di autenticazione per le applicazioni, quindi l'applicazione non deve gestire direttamente le password. I token di autenticazione sono in genere riutilizzabili e memorizzati nella cache da AccountManager, ma devono essere aggiornati periodicamente. È responsabilità delle applicazioni <>em invalidare</em> token di autenticazione quando smette di funzionare in modo che AccountManager sappia che deve rigenerarli.
Le applicazioni che accedono a un server in genere ese completare questi passaggi:
<ul><li>Ottenere un'istanza di AccountManager usando #get(Context).
<li>Elencare gli account disponibili usando #getAccountsByType o #getAccountsByTypeAndFeatures. In genere le applicazioni saranno interessate solo agli account con un particolare tipo <>em</em>, che identifica l'autenticatore. Le funzionalità e le< funzionalità> dell'account <em>vengono usate per identificare determinati sottotipi e funzionalità dell'account. Sia il tipo di account che le funzionalità sono stringhe specifiche dell'autenticatore e devono essere note dall'applicazione in coordinamento con gli autenticatori preferiti.
<li>Selezionare uno o più account disponibili, eventualmente chiedendo all'utente la preferenza. Se non sono disponibili account appropriati, #addAccount può essere chiamato per richiedere all'utente di creare un account del tipo appropriato.
<li><b>Importante:</b> Se l'applicazione usa una selezione di account memorizzata in precedenza, deve assicurarsi che l'account sia ancora nell'elenco degli account restituiti da #getAccountsByType. La richiesta di un token di autenticazione per un account non più nel dispositivo genera un errore non definito.
<li>Richiedere un token di autenticazione per gli account selezionati usando uno dei metodi o helper #getAuthToken correlati. Per informazioni esatte sull'utilizzo e sulla gestione degli errori, vedere la descrizione di ogni metodo.
<li>Effettuare la richiesta usando il token di autenticazione. Il formato del token di autenticazione, il formato della richiesta e il protocollo usato sono tutti specifici del servizio a cui si accede. L'applicazione può usare qualsiasi libreria di rete e protocollo sia utile.
<li><b>Importante:</b> Se la richiesta ha esito negativo con un errore di autenticazione, potrebbe essere che un token di autenticazione memorizzato nella cache non è aggiornato e non viene più rispettato dal server. L'applicazione deve chiamare #invalidateAuthToken per rimuovere il token dalla cache. In caso contrario, le richieste continueranno a non riuscire. Dopo aver invalidato il token di autenticazione, tornare immediatamente al passaggio precedente "Richiedere un token di autenticazione". Se il processo ha esito negativo la seconda volta, può essere considerato come un errore di autenticazione "autentico" e l'utente ha informato o altre azioni appropriate eseguite.
</ul>
Alcuni metodi AccountManager potrebbero dover interagire con l'utente per richiedere credenziali, presentare opzioni o chiedere all'utente di aggiungere un account. Il chiamante può scegliere se consentire a AccountManager di avviare direttamente l'interfaccia utente necessaria e attendere che l'utente restituisca una finalità che il chiamante può usare per avviare l'interfaccia o(in alcuni casi) per installare una notifica che l'utente può selezionare in qualsiasi momento per avviare l'interfaccia. Per fare in modo che AccountManager avvii direttamente l'interfaccia, il chiamante deve fornire il contesto in primo piano Activity corrente.
Molti metodi AccountManager accettano AccountManagerCallback e Handler come parametri. Questi metodi restituiscono immediatamente ed eseguono in modo asincrono. Se viene fornito un callback, AccountManagerCallback#run al termine della richiesta verrà richiamato sul thread del gestore. Il risultato viene recuperato chiamando AccountManagerFuture#getResult() sull'oggetto AccountManagerFuture restituito dal metodo e passato anche al callback. Questo metodo attende il completamento dell'operazione (se necessario) e restituisce il risultato o genera un'eccezione se si è verificato un errore durante l'operazione. Per effettuare la richiesta in modo sincrono, chiamare AccountManagerFuture#getResult() immediatamente dopo aver ricevuto il futuro dal metodo . Non è necessario fornire alcun callback.
Le richieste che possono bloccarsi, tra cui AccountManagerFuture#getResult(), non devono mai essere chiamate nel thread dell'evento principale dell'applicazione. Queste operazioni generano un'eccezione IllegalStateException se vengono usate nel thread principale.
Documentazione java per android.accounts.AccountManager.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
| Nome | Descrizione |
|---|---|
| AccountManager(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Campi
| Nome | Descrizione |
|---|---|
| ActionAccountRemoved |
Azione inviata come finalità broadcast da AccountsService quando un account viene rimosso o rinominato. |
| ActionAuthenticatorIntent | |
| AuthenticatorAttributesName | |
| AuthenticatorMetaDataName | |
| ErrorCodeBadArguments | |
| ErrorCodeBadAuthentication | |
| ErrorCodeBadRequest | |
| ErrorCodeCanceled | |
| ErrorCodeInvalidResponse | |
| ErrorCodeNetworkError | |
| ErrorCodeRemoteException | |
| ErrorCodeUnsupportedOperation | |
| KeyAccountAuthenticatorResponse | |
| KeyAccountManagerResponse | |
| KeyAccountName |
Chiave bundle usata per il nome dell'account |
| KeyAccounts | |
| KeyAccountSessionBundle |
Chiave bundle usata per un |
| KeyAccountStatusToken |
Chiave bundle usata per il token di stato dell'account |
| KeyAccountType |
Chiave bundle usata per il |
| KeyAndroidPackageName |
Il pacchetto Android del chiamante verrà impostato nel bundle delle opzioni da |
| KeyAuthenticatorTypes | |
| KeyAuthFailedMessage | |
| KeyAuthtoken |
Chiave bundle usata per il valore del token di autenticazione nei risultati di |
| KeyAuthTokenLabel | |
| KeyBooleanResult | |
| KeyCallerPid |
ID processo dell'app chiamante. |
| KeyCallerUid |
UID dell'app chiamante. |
| KeyErrorCode | |
| KeyErrorMessage | |
| KeyIntent |
Chiave bundle usata per un oggetto |
| KeyLastAuthenticatedTime |
Chiave bundle usata per fornire l'ultima volta che le credenziali dell'account sono state autenticate correttamente. |
| KeyPassword |
Chiave bundle usata per fornire la password direttamente nelle opzioni a |
| KeyUserdata | |
| LoginAccountsChangedAction |
Azione inviata come finalità broadcast da AccountsService quando vengono aggiunti gli account, gli account vengono rimossi o le credenziali di un account (password salvata e così via) vengono modificate. |
| PackageNameKeyLegacyNotVisible |
Chiave per impostare la visibilità predefinita per le applicazioni che non soddisfano le condizioni in |
| PackageNameKeyLegacyVisible |
Chiave per impostare la visibilità per le applicazioni che soddisfano una delle condizioni seguenti: <ul><li>Target API level below |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| JniPeerMembers |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| AddAccount(String, String, String[], Bundle, Activity, IAccountManagerCallback, Handler) |
Chiede all'utente di aggiungere un account di un tipo specificato. |
| AddAccountExplicitly(Account, String, Bundle, IDictionary<String,Integer>) |
Aggiunge un account direttamente a AccountManager. |
| AddAccountExplicitly(Account, String, Bundle) |
Aggiunge un account direttamente a AccountManager. |
| AddOnAccountsUpdatedListener(IOnAccountsUpdateListener, Handler, Boolean, String[]) |
Aggiunge un oggetto |
| AddOnAccountsUpdatedListener(IOnAccountsUpdateListener, Handler, Boolean) |
Aggiunge un oggetto |
| BlockingGetAuthToken(Account, String, Boolean) |
Questo helper di praticità ottiene in modo sincrono un token di autenticazione con |
| ClearPassword(Account) |
Dimentica una password salvata. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| ConfirmCredentials(Account, Bundle, Activity, IAccountManagerCallback, Handler) |
Conferma che l'utente conosce la password per un account per assicurarsi che sia il proprietario dell'account. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| EditProperties(String, Activity, IAccountManagerCallback, Handler) |
Offre all'utente l'opportunità di modificare le impostazioni di un autenticatore. |
| Equals(Object) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| FinishSession(Bundle, Activity, IAccountManagerCallback, Handler) |
Termina la sessione avviata da |
| FromContext(Context) |
Ottiene un'istanza del gestore account associata a un contesto. |
| Get(Context) |
Ottiene un'istanza di AccountManager associata a un oggetto Context. |
| GetAccounts() |
Elenca tutti gli account visibili al chiamante indipendentemente dal tipo. |
| GetAccountsAndVisibilityForPackage(String, String) |
Ottiene tutti gli account di tipo specificato e la relativa visibilità per un pacchetto specifico. |
| GetAccountsByType(String) |
Elenca tutti gli account di un particolare tipo visibile al chiamante. |
| GetAccountsByTypeAndFeatures(String, String[], IAccountManagerCallback, Handler) |
Elenca tutti gli account di un tipo con determinate funzionalità. |
| GetAccountsByTypeForPackage(String, String) |
Restituisce gli account visibili al pacchetto specificato in un ambiente in cui alcune app non sono autorizzate a visualizzare tutti gli account. |
| GetAccountVisibility(Account, String) |
Ottenere la visibilità di un determinato account per una determinata applicazione. |
| GetAuthenticatorTypes() |
Elenca gli autenticatori attualmente registrati. |
| GetAuthToken(Account, String, Boolean, IAccountManagerCallback, Handler) |
Obsoleti.
Ottiene un token di autenticazione del tipo specificato per un determinato account, generando facoltativamente una notifica se l'utente deve immettere le credenziali. |
| GetAuthToken(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Ottiene un token di autenticazione del tipo specificato per un determinato account, richiedendo all'utente le credenziali, se necessario. |
| GetAuthToken(Account, String, Bundle, Boolean, IAccountManagerCallback, Handler) |
Ottiene un token di autenticazione del tipo specificato per un determinato account, generando facoltativamente una notifica se l'utente deve immettere le credenziali. |
| GetAuthTokenByFeatures(String, String, String[], Activity, Bundle, Bundle, IAccountManagerCallback, Handler) |
Questo helper pratico combina la funzionalità di |
| GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
| GetPackagesAndVisibilityForAccount(Account) |
Restituisce i nomi dei pacchetti e la visibilità che sono stati impostati in modo esplicito per l'account specificato. |
| GetPassword(Account) |
Ottiene la password salvata associata all'account. |
| GetPreviousName(Account) |
Ottiene il nome precedente associato all'account o |
| GetUserData(Account, String) |
Ottiene i dati utente denominati da "key" associati all'account. |
| HasFeatures(Account, String[], IAccountManagerCallback, Handler) |
Determina se un determinato account dispone di tutte le funzionalità specificate. |
| InvalidateAuthToken(String, String) |
Rimuove un token di autenticazione dalla cache di AccountManager. |
| IsCredentialsUpdateSuggested(Account, String, IAccountManagerCallback, Handler) |
Controlla se |
| JavaFinalize() |
Obsoleti.
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| NewChooseAccountIntent(Account, IList<Account>, String[], Boolean, String, String, String[], Bundle) |
Obsoleti.
Deprecato e sostituito da |
| NewChooseAccountIntent(Account, IList<Account>, String[], String, String, String[], Bundle) |
Restituisce una finalità a un |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAccountAuthenticated(Account) |
Notifica al sistema che l'account è stato appena autenticato. |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| PeekAuthToken(Account, String) |
Ottiene un token di autenticazione dalla cache di AccountManager. |
| RemoveAccount(Account, Activity, IAccountManagerCallback, Handler) |
Rimuove un account da AccountManager. |
| RemoveAccount(Account, IAccountManagerCallback, Handler) |
Obsoleti.
Rimuove un account da AccountManager. |
| RemoveAccountExplicitly(Account) |
Rimuove direttamente un account. |
| RemoveOnAccountsUpdatedListener(IOnAccountsUpdateListener) |
Rimuove un oggetto |
| RenameAccount(Account, String, IAccountManagerCallback, Handler) |
Rinominare l'oggetto specificato |
| SetAccountVisibility(Account, String, AccountVisibility) |
Impostare il valore di visibilità dell'account specificato su un determinato pacchetto. |
| SetAuthToken(Account, String, String) |
Aggiunge un token di autenticazione alla cache AccountManager per un account. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPassword(Account, String) |
Imposta o dimentica una password salvata. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| SetUserData(Account, String, String) |
Imposta una chiave userdata per un account. |
| StartAddAccountSession(String, String, String[], Bundle, Activity, IAccountManagerCallback, Handler) |
Chiede all'utente di eseguire l'autenticazione con un account di un tipo specificato. |
| StartUpdateCredentialsSession(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Chiede all'utente di immettere una nuova password per l'account, ma non aggiorna le credenziali salvate per l'account finché |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| UpdateCredentials(Account, String, Bundle, Activity, IAccountManagerCallback, Handler) |
Chiede all'utente di immettere una nuova password per un account, aggiornando le credenziali salvate per l'account. |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Eventi
| Nome | Descrizione |
|---|---|
| AccountsUpdated |
Si verifica all'avvio del gestore account e a ogni modifica del set di account. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. (Ereditato da JavaObject) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Questa classe fornisce l'accesso a un registro centralizzato degli account online dell'utente. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |