自定义getAuthToken在缓存authtoken有效时未调用,但直接进行回调

时间:2013-06-26 14:20:22

标签: android accountmanager auth-token

我扩展了AbstractAccountAuthenticator并重写了getAuthToken。一切都适用于我的getAuthToken,除非缓存的authtoken有效,在这种情况下调用AccountManagerCallback(signinCallback)而不调用我的getAuthToken。这是一个问题,因为我的getAuthToken使用特定于应用程序的数据加载返回包。

这是我使用的客户经理致电:

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

这是您期望的还是应该是客户经理getAuthToken总是调用我的身份验证器覆盖?我做错了什么?

1 个答案:

答案 0 :(得分:1)

有点晚了,但记录了这个答案,因为我通过谷歌搜索找到类似的东西,这让我来到这里。

对Android文档进行更深入的研究表明,getAuthToken只应返回三组密钥(取决于调用的结果)

正确的方法是在使用AccountManager显式创建帐户时将特定于应用程序的数据存储在UserData包中,并在拥有有效的身份验证令牌后检索它。

有关详细信息,请参阅http://developer.android.com/reference/android/accounts/AccountManager.html