Google Drive SDK for Android NotePad示例

时间:2013-04-16 09:25:13

标签: android google-drive-api google-play-services

是否有人设法让Android版Google Drive Notepad示例正常运行?我按照Google开发者页面中的说明操作,但我无法收到启动Google Play服务对话框进行授权的通知。

应用程序按预期启动,方法

credential.getToken();
调用

,引发UserRecoverableAuthException异常。我希望会显示一个授权对话框,但没有任何反应。我从状态栏中删除通知列表,点击此应用程序创建的通知,再没有任何反应。

当我点击“最近的应用”按钮时,我可以在列表中看到“Google Play服务”,但它有空(空白和黑色)内容。点击它什么都不做,除了我被带回我的主屏幕。

对此有什么想法吗?

我尝试了另一个示例应用程序“Quick Start Drive”,这个应用程序按预期工作。我按照预期提出了授权对话框。

更多信息,目标设备是运行OS 4.2.2的Nexus 7。

非常感谢。

3 个答案:

答案 0 :(得分:0)

我有同样的问题,我解决了它:

credential.setSelectedAccountName(accountName);
AccountManager accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE);
Account[] accounts = accountManager.getAccountsByType("com.google");
Account account = null;
for(Account a : accounts){
    if(a.name.equals(accountName)){
        account = a;
        break;
    }
}

if(account != null){
    String AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/drive";
    accountManager.getAuthToken(account, AUTH_TOKEN_TYPE, null, true, null, null);

    service = getDriveService(credential);
}

答案 1 :(得分:0)

要授权Google Drive API,您必须捕获UserRecoverableException并触发具有授权对话框的意图。

  try{
         .... 

  } catch (UserRecoverableAuthIOException e) {
          Intent intent = e.getIntent();
         startActivityForResult(intent, REQUEST_AUTHORIZATION_FOLDER);
  }

答案 2 :(得分:0)

Gabriele Mariotti,你的解决方案似乎更好但在这种情况下无法工作。实际上,该类不是活动,并且无法调用startActivityForResult方法。