2013-06-26 22 views
2

我已擴展AbstractAccountAuthenticator和重寫getAuthToken。除了當緩存的authtoken有效時,除了調用getAuthToken之外,一切都可以正常工作。在這種情況下,調用AccountManagerCallback(signinCallback)而不調用getAuthToken。這是一個問題,因爲我的getAuthToken用特定於應用程序的數據加載返回包。自定義getAuthToken不緩存authtoken時有效,但直接回調

這是在客戶經理電話我用:

`signinFuture = mAM.getAuthToken(account, getApplicationContext().getString(R.string.ACCOUNT_TYPE), null, SignInFragmentActivity.this, signinCallback, null);` 

這是你所期望或應客戶經理getAuthToken隨時撥打我的認證覆蓋?我究竟做錯了什麼?

回答

1

有點晚了,但記錄這個答案,因爲我正在尋找類似的東西通過谷歌搜索,把我帶到這裏。

的Android文檔的仔細研究清楚地表明,getAuthToken只應該返回三組密鑰(根據呼叫的結果)

正確的做法是存儲在您的應用程序特定的數據當你使用AccountManager顯式地創建一個賬戶並且在你有一個有效的授權令牌後檢索它時,你可以使用UserData bundle。

參見http://developer.android.com/reference/android/accounts/AccountManager.html以供進一步參考。