从Accounts Manager中检索访问令牌

时间:2011-09-16 14:27:35

标签: android access-token accountmanager authenticator

我已经为Facebook实现了自己的身份验证器,并在帐户管理器中存储了access_token

我尝试了所有3种方法来检索auth_token,但徒劳无功。

在我的方法中,我已经开始了一个线程,并且在Threads RUN方法中,我尝试了以下方法: -

authTokenBundle = accountManagerFuture.getResult();

manager.blockingGetAuthToken(accounts[0], "com.facebook", false);

&安培;你上面展示的方式......

manager.getAuthToken(account, "com.facebook", true, new AccountManagerCallback() {...

但是我的代码在所有3行以上都被阻止了。没有例外/错误。

我需要在我的应用中获得auth-token

1 个答案:

答案 0 :(得分:2)

您可以使用应用程序SharedPreferences来存储和检索令牌。

我的实施:

    private String getTokenFromSharedPreferences(){
        SharedPreferences settings = getSharedPreferences();
        return settings.getString(TOKEN, null);
    }

    private String getTokenSecretFromSharedPreferences(){
        SharedPreferences settings = getSharedPreferences();
        return settings.getString(TOKEN_SECRET, null);
    }

    public void setTokenInSharedPreferences(String token){
        putInSharedPreferences(TOKEN, token);
    }

    public void setTokenSecretInSharedPreferences(String tokenSecret){
        putInSharedPreferences(TOKEN_SECRET, tokenSecret);
    }

    public void putInSharedPreferences(String key, String value){
        SharedPreferences.Editor editor = getSharedPreferences().edit();
        editor.putString(key, value);
        editor.commit();
    }

    protected SharedPreferences getSharedPreferences(){
        return activity.getSharedPreferences(PREFERENCE_NAME, 0); //0 = MODE_PRIVATE.
    }