我可以使用此代码使用Android AccountManager
登录:
http://code.google.com/p/google-api-java-client/wiki/AndroidAccountManager
但我不知道如何退出?
答案 0 :(得分:4)
你没有。当您使用内置的Android身份验证时,您使用用户在“帐户和同步”控制面板中提供的用户名和密码进行身份验证。一旦进行了身份验证,就可以使用它来获取一个auth-token,你应该缓存并使用它,直到它变坏为止。
因此,让我们一起使用“com.google”风格帐户访问Google服务的方式。当您的应用想要同步时,您将最终使用AccountManager进行身份验证(您绝对应该使用SyncAdapter来执行此操作)。进行身份验证后,您将获得一个身份验证令牌。这是一大串随机字母,在随后的网络电话中充当“密钥”。您将保存此功能,只要它很好,您就不需要再次进行身份验证。所以,想要去获取...比方说,谷歌金融投资组合。您将auth-token包含在http get标头的一部分中。发生以下两件事之一:
后一种情况将出现两个原因:
无论如何,你永远不会退出。您只需将服务与已获取并缓存的身份验证令牌一起使用,直到您不再使用该身份。将您获得的身份验证令牌视为会话密钥,只要您使用它就会保持良好状态。
答案 1 :(得分:3)
为什么不通过调用
使当前的身份验证令牌无效 AccountManager.getInstance().invalidateAuthToken(accountType, currentToken);
答案 2 :(得分:2)
来自AccountManager:
忘记保存的密码。这将删除密码的本地副本; 它不会更改服务器上用户的帐户密码。有 效果与
setPassword(account, null)
相同,但要求更少 权限,可以由应用程序或管理界面使用 到"退出"来自一个帐户。