我的问题是关于Android客户经理。我不确定我是否理解以下文档:
http://developer.android.com/reference/android/accounts/AccountManager.html
方法: public AccountManagerFuture getAuthToken(帐户帐户,字符串authTokenType,捆绑选项,活动活动,AccountManagerCallback回调,处理程序处理程序)
它说:
如果为此帐户缓存了先前生成的身份验证令牌并键入,则会返回该令牌。否则,如果保存的密码可用,会将其发送到服务器以生成新的身份验证令牌。否则,将提示用户输入密码。
我不明白客户经理会如何为我的帐户类型执行此操作。我的假设是它会调用AbstractAccountAuthenticator中定义的方法来执行此操作,但我没有看到任何方法似乎会重新提交已保存的密码。
为了澄清,我打算将刷新令牌保存为密码'对于我的帐户。然后我计划提交刷新令牌来代替存储的密码,以获得新的访问令牌。
我尝试在GrepCode中搜索,但我不习惯代码在那里呈现的方式,或者代码不是很清楚,因为我还不确定帐户是怎么回事经理计划重新提交'存储的密码,如果我可以覆盖该行为,以便它只是刷新访问令牌。
感谢任何帮助。我觉得我错过了一些非常明显的东西。
答案 0 :(得分:1)
覆盖getAuthToken。在该覆盖中,您将执行上述工作流程。保存密码是可选的。如果您不想保存密码,那么在getAuthToken中,您只需验证已保存的令牌。如果令牌无效,您将提示登录或仅使用您的要求定义的其他机制刷新令牌。