等待直到firebase完成上传到数据库

时间:2017-12-19 20:24:39

标签: android firebase firebase-realtime-database

我已经尝试完成监听器,但我想检查当我按下关闭sesion按钮时,如果没有数据要上传,我的问题是,当我按下关闭sesion并再次转到我的loginActivity时,数据仍然是上传到firebase,所以我得到一个空错误,因为它无法到达用户发布最后一个数据,我想要做的是将一个监听器放在close sesion按钮,我可以检查该用户ID是否已完成上传< / p>

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

1 个答案:

答案 0 :(得分:1)

您无需等待,直到Firebase完成上传到数据库,您需要使用DatabaseReference.CompletionListener

  

此接口用作在数据库服务器确认操作时通知的方法,并且可以认为是完整的

这意味着,一旦您的数据在Firebase数据库服务器上成功写入,您就可以退出。