2017-12-19 5 views
0

나는 완료 리스너에서 시도했지만 업로드 할 데이터가 없다면 닫기 세션 버튼을 눌렀는지 확인하고 싶습니다. 내 문제는 내가 닫기를 누르면 세션이 닫히고 이동합니다. 내 loginActivity 다시, 데이터가 여전히 firebase에 업로드됩니다, 그래서 그것이 마지막 데이터를 게시하는 사용자에게 도달 할 수 없기 때문에 null 오류가 발생합니다, 내가 뭘하고 싶은지 닫기 sesion 버튼을 어디에 내가 확인할 수있는 수신기를 넣어하는 것입니다 해당 사용자 ID가파이어베이스가 데이터베이스에 업로드 완료 될 때까지 기다려주세요.

당신은 데이터베이스 전까지 중포 기지 마무리 업로드를 기다릴 필요가 없습니다
button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
       @Override 
       public boolean onPreferenceClick(Preference preference) { 


         Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() { 
          @Override 
          public void onResult(@NonNull Status status) { 
//here i want to test if the user has finished uploading all before sign out 

           FirebaseAuth.getInstance().signOut(); 
           mGoogleApiClient.disconnect(); 
           finish(); 
          } 
         }); 



        return true; 
       } 
      }); 
+0

Firebase에 업로드하는 것은 무엇입니까? –

답변

1

, 당신은 DatabaseReference.CompletionListener를 사용할 필요가 업로드 이루어집니다.

이 인터페이스는 조작이 데이터베이스 서버에 의해 인정되었으며 완료된 것으로 간주 할 수있는 경우 통지를받은하는 방법으로 사용됩니다

이 즉, 데이터가 성공적으로 중포 기지 데이터베이스 서버에 writen 한 번 , 그러면 로그 아웃 할 수 있습니다.