Android 安卓账户管理器

Android 安卓账户管理器,android,Android,有人能帮我一步一步地在安卓系统中使用AccountManager,并提供一个简单的示例,以便更好地理解吗?我回答这个问题是为了让我自己能清楚地理解,所以我来了(我还不精通安卓系统): 应用程序通常首先要检查帐户是否存在,您可以使用: AccountManager mgr = AccountManager.get(getApplicationContext()); Account[] accounts = mgr.getAccountsByType("com.mydomain"); // asse

有人能帮我一步一步地在安卓系统中使用AccountManager,并提供一个简单的示例,以便更好地理解吗?

我回答这个问题是为了让我自己能清楚地理解,所以我来了(我还不精通安卓系统):

应用程序通常首先要检查帐户是否存在,您可以使用:

AccountManager mgr = AccountManager.get(getApplicationContext());
Account[] accounts = mgr.getAccountsByType("com.mydomain");
// assert that accounts is not empty
您需要使用
AccountManagerFuture
来保存身份验证令牌的结果。这必须是异步的,因为Android设备可能会要求用户同时登录:

private AccountManagerFuture<Bundle> myFuture = null;
private AccountManagerCallback<Bundle> myCallback = new AccountManagerCallback<Bundle>() {
    @Override public void run(final AccountManagerFuture<Bundle> arg0) {
        try {
           myFuture.getResult().get(AccountManager.KEY_AUTHTOKEN); // this is your auth token
       } catch (Exception e) {
           // handle error
       }
   }
身份验证令牌类型取决于您的身份验证机制。对于谷歌账户来说,这只是“啊”


现在,每当您执行经过身份验证的请求时,只需传递令牌(在标头中,作为参数等),以便服务器端知道您是谁。

您到底想做什么?您是否检查了Android SDK中的示例?下面是一个更全面的指南:
myFuture = mgr.getAuthToken(accounts[0], AUTH_TOKEN_TYPE, true, myCallback, null);