0

我在Android上使用谷歌驅動器備份文件。備份工作正常。但是,當我看到選擇要備份的帳戶的對話框時,如果我點擊「取消」,對話框會關閉並重新出現。它陷入了一個循環,我不得不選擇一個帳戶。在調試代碼時,我發現每次點擊取消時都會調用onConnectionFailed()。 SIGN_IN_REQUIRED是傳遞給它的解析代碼,所以對話框再次被調用。谷歌雲端硬盤帳戶選配器對話框將不會取消

我該如何擺脫這個循環,並允許用戶取消?有其他人有這個問題嗎?

謝謝!

回答

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(); 
    } 
} 

所以現在活動結束,如果用戶點擊取消,這對我的目的很好。

相關問題