Мне нужно по запросу удалить пользователя из Firebase, но я хочу быть уверен, что пользователь удалит свою учетную запись.Поэтому я хочу, чтобы этот пользователь ввел свое имя пользователя и пароль.
У меня следующий код:
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
AuthCredential credential = EmailAuthProvider
.getCredential(txtEmail.getText().toString().trim(),
txtPassword.getText().toString().trim());
assert user != null;
user.reauthenticate(credential)
.addOnCompleteListener(task -> user.delete()
.addOnCompleteListener(task1 -> {
progressDialog.dismiss();
if (task1.isSuccessful()) {
//Log.d(TAG, "User account deleted.");
Toast.makeText(getActivity(), getResources().getString(R.string.delete_ok), Toast.LENGTH_SHORT).show();
final Handler handler = new Handler();
handler.postDelayed(() -> {
//here I try to close my app from a fragment but no success
Activity act = getActivity();
if (act instanceof ActivityHome) {
((ActivityHome) act).onClose();
}
}, 2000);
} else {
Toast.makeText(getActivity(),getResources().getString(R.string.delete_cancel) , Toast.LENGTH_SHORT).show();
}
}));
Пользователь удален, но значения для txtEmail и txtPassword игнорируются.Можно удалить пользователя для любых значений.Пользователь удален, в том числе для нулевых значений.
Есть предложения?