Android 为什么AccountManager.invalidateAuthToken需要AccountType而不是AccountName?
使用Android 为什么AccountManager.invalidateAuthToken需要AccountType而不是AccountName?,android,accountmanager,Android,Accountmanager,使用invalidateAuthToken使来自AccountManager的授权令牌无效时 问题1:当使用帐户的名称似乎更有意义时,为什么函数需要帐户的类型 问题2:通过给它指定类型,invalidateAuthToken是否会清除该帐户类型下的所有身份验证令牌?Q1:类型没有名称那么严格,它隐含地表示您正在处理的是一个组而不是一个个人,IMHO accountType定义在accountManager中获取的帐户类型。例如:“www.google”用于谷歌账户。如果回调中有一个bundle,
invalidateAuthToken
使来自AccountManager
的授权令牌无效时
问题1:当使用帐户的名称
似乎更有意义时,为什么函数需要帐户的类型
问题2:通过给它指定
类型
,invalidateAuthToken
是否会清除该帐户类型下的所有身份验证令牌?Q1:类型没有名称那么严格,它隐含地表示您正在处理的是一个组而不是一个个人,IMHO
accountType定义在accountManager中获取的帐户类型。例如:“www.google”用于谷歌账户。如果回调中有一个bundle,您可以使用以下命令查找accountType:
private class GetAuthTokenCallback implements AccountManagerCallback<Bundle> {
public void run(AccountManagerFuture<Bundle> result) {
try {
bundle = result.getResult();
String auth_token = bundle.getString(AccountManager.KEY_AUTHTOKEN);
String auth_account_type = bundle.getString(AccountManager.KEY_ACCOUNT_TYPE);
accountType不能为null,但authToken可以为null。如果省略authToken,则清除该accountType的所有标记
public void invalidateAuthToken (String accountType, String authToken)