0

Google 드라이브를 사용하여 Android 파일에 백업 파일을 사용하고 있습니다. 백업이 정상적으로 작동합니다. 그러나 백업 할 계정을 선택하라는 대화 상자가 표시되면 "취소"를 누르면 대화 상자가 닫히고 다시 나타납니다. 그것은 반복에서 붙잡히고 나는 계정을 선택하도록 강요 당한다. 코드를 디버깅하는 동안 onConnectionFailed()가 취소 될 때마다 호출되는 것을 볼 수 있습니다. SIGN_IN_REQUIRED는 전달 된 해상도 코드이므로 대화 상자가 다시 호출됩니다.Google 드라이브 계정 선택기 대화 상자가 취소되지 않습니다.

이 루프를 중단하고 사용자가 취소 할 수 있도록하려면 어떻게해야합니까? 다른 사람이이 문제를 겪었습니까?

감사합니다.

답변

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

     finish(); 
    } 
} 
: (클릭 취소 때 발생되는) 더 해상도가 없었다 경우, 난 그냥 대화를 호스팅하는 활동을 마무리하도록

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

나는이 변경

그래서 사용자가 취소를 클릭하면 활동이 종료됩니다. 이는 내 용도에 적합합니다.