Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase,删除用户时无法删除用户记录_Java_Android_Firebase_Firebase Realtime Database_Firebase Authentication - Fatal编程技术网

Java Firebase,删除用户时无法删除用户记录

Java Firebase,删除用户时无法删除用户记录,java,android,firebase,firebase-realtime-database,firebase-authentication,Java,Android,Firebase,Firebase Realtime Database,Firebase Authentication,当我删除用户时,我无法删除他的记录。我知道将删除哪些位置,但当用户成功删除时,值仍在数据库中 ..... final String useruid=""+user.getUid(); //auth = FirebaseAuth.getInstance(); //user=auth.getCurrentUser(); dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListen

当我删除用户时,我无法删除他的记录。我知道将删除哪些位置,但当用户成功删除时,值仍在数据库中

.....
final String useruid=""+user.getUid();

//auth = FirebaseAuth.getInstance();
//user=auth.getCurrentUser();


 dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            if(checkBox.isChecked()){
                if (user != null) {

                    user.delete()
                            .addOnCompleteListener(new OnCompleteListener<Void>() {
                                @Override
                                public void onComplete(@NonNull Task<Void> task) {
                                    if (task.isSuccessful()) {
    FirebaseDatabase.getInstance().getReference().child("profileinfos").child(useruid).removeValue();
    FirebaseDatabase.getInstance().getReference().child("holograminfos").child(useruid).removeValue();


                                        Toast.makeText(Ayarlar.this, "Hesabınız başarılı bir şekilde silindi. ", Toast.LENGTH_SHORT).show();
                                       dialog.dismiss();
                                        startActivity(new Intent(Ayarlar.this, LoginActivity.class));
                                        finish();
                                    } else {
                                        Toast.makeText(Ayarlar.this, "Bir Hata Meydana Geldi.", Toast.LENGTH_SHORT).show();

                                    }
                                }});
                }
            }
            else
            {
                Toast.makeText(Ayarlar.this, "Onaylamak için lütfen kutucuğu seçiniz.", Toast.LENGTH_SHORT).show(); return;
            }
        }
    });

没有例外。

您必须先从数据库中删除它,然后从经过身份验证的控制台中删除它,请尝试以下操作:

FirebaseDatabase.getInstance().getReference().child("profileinfos").child(useruid).removeValue();
FirebaseDatabase.getInstance().getReference().child("holograminfos").child(useruid).removeValue();

    user.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                if (task.isSuccessful()) {
     Toast.makeText(Ayarlar.this, "Hesabınız başarılı bir şekilde silindi. ", Toast.LENGTH_SHORT).show();
                                   dialog.dismiss();
                                    startActivity(new Intent(Ayarlar.this, LoginActivity.class));
                                    finish();
                                } else {
                                    Toast.makeText(Ayarlar.this, "Bir Hata Meydana Geldi.", Toast.LENGTH_SHORT).show();

                                }
                            }});
            }

你要吃这个烤面包吗?是的。我检查身份验证。用户被删除了。我想是这样的。但是如果用户不删除该用户?用户的记录将消失。必须首先成功删除user.delete。也可能是!isSuccessful并且只有记录消失了,用户仍然在线。我认为当您删除一个用户时,最后的字符串useruid=+user.getUid;由于没有当前用户登录,因此将变为null,因此useruid将为null,因此不会删除任何内容。这就是为什么我先在数据库中说,然后在经过身份验证的控制台中说,它为null,但我修复了它。我添加了一个Log.ea、+useruid,Log显示了正确的uid。日志在task.isSucces.u中添加了Log.ea,+useruid在iftask.issuccesful中?你试过答案了吗?是的,我试过了,我得到了uid。现在我很困惑。有什么问题吗。