Google云端硬盘帐号选择器对话框无法取消

时间:2014-10-29 11:20:10

标签: android dialog google-drive-api google-drive-android-api

我在Android上使用谷歌驱动器来备份文件。备份工作正常。但是当我看到选择要备份的帐户的对话框时,如果我点击“取消”,对话框就会关闭并重新出现。它陷入了循环,我被迫选择一个帐户。在调试代码时,我看到每次点击取消时都会调用onConnectionFailed()。 SIGN_IN_REQUIRED是传递给它的解析代码,因此再次调用该对话框。

如何突破此循环并允许用户取消?还有其他人有这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

我通过编辑onActivityResult方法解决了这个问题。

以前我曾经:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_RESOLUTION && resultCode == RESULT_OK) {
        mGoogleApiClient.connect();
    }
}

我改变了这一点,如果没有解决方案(点击取消时会发生什么),我就完成了主持对话框的活动:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_RESOLUTION && resultCode == RESULT_OK) {
        mGoogleApiClient.connect();
    }
    else {

      finish();
    }
}

现在,如果用户点击取消,活动就会结束,这对我来说很好。