以下代码段在android 2.3上运行时会产生无效的auth_token (通过https://accounts.google.com/o/oauth2/tokeninfo?access_token=验证)。
让 AccountManager 返回有效帐号的唯一方法是手动浏览帐户设置并删除而不是添加现有的Google帐户。重新运行时,令牌将一直有效,直到未过期,重新出现相同的问题。请注意,Android 4.0及更高版本的设备上不会出现此问题。
你能协助解决这个问题吗?
private static final String SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.email";
accountManager.getAuthToken(googleAccountsMap.get(accountName), SCOPE, null, getActivity(),
new OnAuthTokenAcquired(), null);
private class OnAuthTokenAcquired implements AccountManagerCallback<Bundle> {
@Override
public void run(AccountManagerFuture<Bundle> result) {
try {
Bundle bundle = result.getResult();
String accountName = bundle.getString(AccountManager.KEY_ACCOUNT_NAME);
String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);
答案 0 :(得分:0)
问题已经解决。对于那些经历类似症状的人,链接描述了解决方案
AccountManager: invalidateAuthToken does not invalidate the token