Asynchrone Kontoauthentifizierung mit Volley

jeder

Ich implementiere eine Kontoauthentifizierung mit AbstractAccountAuthenticator und muss eine asynchrone Methode in der Funktion getAuthToken aufrufen, um einen Benutzer zu authentifizieren. Mein Code ist wie folgt:

public class AccountAuthenticator extends AbstractAccountAuthenticator {
    ...
    @Override
    public Bundle getAuthToken( final AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options )
        throws NetworkErrorException 
    {
        final AccountManager accountManager = AccountManager.get(context);   
        String authToken = accountManager.peekAuthToken( account, authTokenType );   
        // !!!!
        if( TextUtils.isEmpty(authToken) ) {
            <<call asynchronous method to acquire token>>
            return null;  
        }
        // !!!!
        final Bundle result = new Bundle();
        result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name);
        result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type);
        result.putString(AccountManager.KEY_AUTHTOKEN, authToken);
        return result;
    }
    ...
}

Nach Googles Dokumentation für die Methode 'getAuthToken' wird ein Bundle-Ergebnis zurückgegeben odernull wenn das Ergebnis über die Antwort @ zurückgegeben werden so. Das Ergebnis enthält entweder:
AccountManager.KEY_INTENT, ode
AccountManager.KEY_ACCOUNT_NAME, AccountManager.KEY_ACCOUNT_TYPE, undAccountManager.KEY_AUTHTOKEN, ode
AccountManager.KEY_ERROR_CODE undAccountManager.KEY_ERROR_MESSAGE um einen Fehler anzuzeigen

Und ich muss null zurückgeben, weil die Authentifizierungsmethode asynchron ist, aber wie kann ich das Bundle gemäß der Dokumentation über den Parameter 'response' zurückgeben?
Vielen Dank für alles, und sorry mein Englisch.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage