2013-03-23 107 views
2

我目前正在开发一个Android应用程序,我正在尝试集成Google Drive。我在帐户选择器中遇到问题,当选择帐户并返回到onActivityResult函数时,resultCode为-1,我相信它应该为0表示它已成功。谷歌云端硬盘帐户选择器onActivityResult resultCode始终是-1

下面是我怎么了开户拾取

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为resultCode为是出于某种原因被设置为返回false -1码。我认为-1意味着某些失败,但我看不到logCat中的任何错误消息。

感谢您提供的任何帮助。

+0

您是否能解决问题?因为我在resultCode中也得到了0。不确定认证有什么问题。 – 2015-02-10 18:17:48

+0

检查接受的答案 – Boardy 2015-02-10 18:19:01

+0

我的意思是我得到0意味着取消,所以你有任何想法如何解决它? – 2015-02-10 18:23:07

回答

1

经过thisRESULT_OK的值是-1

0RESULT_CANCELLED

+0

感谢你的帮助,似乎有点奇怪的做法,0通常意味着成功的一切,已经开始工作了。感谢您的帮助 – Boardy 2013-03-23 16:45:51

相关问题