在使用AccountManager时,是否可以让用户在app中授权权限

时间:2012-10-24 12:08:27

标签: android accountmanager google-play-services

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

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时是否有类似的方法来实现此目的?

1 个答案:

答案 0 :(得分:2)

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

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

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