1

我已经为 Facebook 实现了自己的身份验证器并存储access_token在 Accounts Manager 中。

我已经尝试了所有 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在我的应用程序中获取。

4

1 回答 1

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.
    }
于 2011-09-16T14:52:41.533 回答