我已经尝试完成监听器,但我想检查当我按下关闭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;
}
});
答案 0 :(得分:1)
您无需等待,直到Firebase完成上传到数据库,您需要使用DatabaseReference.CompletionListener。
此接口用作在数据库服务器确认操作时通知的方法,并且可以认为是完整的
这意味着,一旦您的数据在Firebase数据库服务器上成功写入,您就可以退出。