Android AccountManager.getAuthToken有时返回空字符串
当我使用Android的AccountManager为Google帐户获取身份验证令牌时,我有一个奇怪的行为 当应用程序启动时,对Android AccountManager.getAuthToken有时返回空字符串,android,Android,当我使用Android的AccountManager为Google帐户获取身份验证令牌时,我有一个奇怪的行为 当应用程序启动时,对getAuthToken的第一次调用返回一个包,其中包含一个空字符串作为令牌。下一次,我调用相同的方法,它返回一个有效的令牌 这是我的密码: public String updateToken(final boolean invalidateToken, final Context c) { String authToken = ""; try {
getAuthToken
的第一次调用返回一个包,其中包含一个空字符串作为令牌。下一次,我调用相同的方法,它返回一个有效的令牌
这是我的密码:
public String updateToken(final boolean invalidateToken, final Context c) {
String authToken = "";
try {
final AccountManager am = AccountManager.get(c);
final Account[] accounts = am.getAccountsByType("com.google");
final Bundle bundle = am.getAuthToken(accounts[0], "android", true,
null, null).getResult();
authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN)
.toString();
if (invalidateToken) {
am.invalidateAuthToken("com.google", authToken);
authToken = updateToken(false, c);
}
} catch (final Exception e) {
//Just for debugging issues.
e.printStackTrace();
}
return authToken;
}
在我的活动的onCreate
方法中调用此方法时,似乎返回了空标记,尽管情况并非总是如此
提前谢谢。
而且我真的不知道什么时候使令牌失效。一天一次?每次创业?或者,空令牌是必须使令牌失效的指示器,尽管它在下一次调用时返回有效令牌。您需要在请求令牌之前使令牌失效 看