我在Android上使用谷歌驱动器来备份文件。备份工作正常。但是当我看到选择要备份的帐户的对话框时,如果我点击“取消”,对话框就会关闭并重新出现。它陷入了循环,我被迫选择一个帐户。在调试代码时,我看到每次点击取消时都会调用onConnectionFailed()。 SIGN_IN_REQUIRED是传递给它的解析代码,因此再次调用该对话框。
如何突破此循环并允许用户取消?还有其他人有这个问题吗?
谢谢!
答案 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();
}
}
现在,如果用户点击取消,活动就会结束,这对我来说很好。