我扩展了AbstractAccountAuthenticator并重写了getAuthToken。一切都适用于我的getAuthToken,除非缓存的authtoken有效,在这种情况下调用AccountManagerCallback(signinCallback)而不调用我的getAuthToken。这是一个问题,因为我的getAuthToken使用特定于应用程序的数据加载返回包。
这是我使用的客户经理致电:
`signinFuture = mAM.getAuthToken(account, getApplicationContext().getString(R.string.ACCOUNT_TYPE), null, SignInFragmentActivity.this, signinCallback, null);`
这是您期望的还是应该是客户经理getAuthToken总是调用我的身份验证器覆盖?我做错了什么?
答案 0 :(得分:1)
有点晚了,但记录了这个答案,因为我通过谷歌搜索找到类似的东西,这让我来到这里。
对Android文档进行更深入的研究表明,getAuthToken只应返回三组密钥(取决于调用的结果)
正确的方法是在使用AccountManager显式创建帐户时将特定于应用程序的数据存储在UserData包中,并在拥有有效的身份验证令牌后检索它。
有关详细信息,请参阅http://developer.android.com/reference/android/accounts/AccountManager.html。