Google云端硬盘帐户选取器onActivityResult resultCode始终为-1

时间:2013-03-23 16:12:19

标签: android google-drive-api

我目前正在开发Android应用程序,我正在尝试集成Google云端硬盘。我遇到了帐户选择器的问题,当选择帐户并返回到onActivityResult函数时,resultCode为-1,我认为它应该为0表示它已成功。

以下是我打开帐户选择器的方式

credential = GoogleAccountCredential.usingOAuth2(context, DriveScopes.DRIVE);
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER

credential是一个全局变量,因此整个类可以访问此变量。

以下是onActivityResult的代码

else if (resultCode == REQUEST_ACCOUNT_PICKER)
{
    if (resultCode == RESULT_OK && intent != null && intent.getExtras() != null)
    {
    String accountName = intent.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
    SharedPreferences settings = context.getSharedPreferences("prefs", 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putString("google_drive_account_name", accountName);
    editor.putBoolean("drive_sync_upload_download_required", true);
    editor.commit();
    }
}

它进入else if语句,但是当它检查resultCode是否等于RESULT_OK时它返回false,因为resultCode由于某种原因被设置为-1。我假设-1表示某些内容已失败,但我在logCat中看不到任何错误消息。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

浏览thisRESULT_OK的值为-1

0适用于RESULT_CANCELLED