2

我使用 AccountManager 获取访问令牌以授权对 Google Drive 的调用。运行这行代码时:

mgr.blockingGetAuthToken(account, ApiConst.DRIVE_AUTH_SCOPE, true);

用户会收到有关权限请求的通知。是否可以从应用程序显示此内容并让用户接受权限?我知道如果使用 Google Play 服务,我可以捕获异常并提取使用意图:

  try {
    return GoogleAuthUtil.getToken(mActivity, mEmail, mScope);
  } catch (UserRecoverableAuthException userRecoverableException) {
    mActivity.startActivityForResult(userRecoverableException.getIntent(), mRequestCode);
  }

使用 AccountManager 时是否有类似的方法来实现这一点?

4

1 回答 1

2

解决了。如果我使用这种方法,用户将被要求接受权限而不是收到通知:

    am.getAuthToken (
            account.account,
            ApiConst.DRIVE_AUTH_SCOPE,
            options,
            this,
            new OnTokenAcquired(),
            null);

OnTokenAcquired 是一个实现 AccountManagerCallback 的类。在其运行方法中,您将获得令牌。

于 2012-10-25T07:46:41.077 回答