android Firebase应用程序创建用户,但在完成任务时显示失败

mwecs4sa  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(241)

我编程的应用程序中,用户注册,我也认为要求Firebase需要密码和电子邮件等。
当我通过创建一个帐户来测试注册时,firebase数据库创建了一个帐户,但在我的应用程序中,task.isSuccessful()方法返回false。
我也收到了这个“错误”/通知:
W/System:忽略标头X-Firebase-Locale,因为其值为null。
我已经检查了其他原因,如网络连接和错误与Firebase的要求,但它没有工作。
正如我在数据库中所说的,创建了一个帐户,但应用程序认为它没有。
我在Android Studio上用Java编程
下面是我的代码:

  1. public void onClick(View view) {
  2. s_fName = fName.getEditText().getText().toString().trim();
  3. s_area = area.getEditText().getText().toString().trim();
  4. s_cpass = cpass.getEditText().getText().toString().trim();
  5. s_lName = lName.getEditText().getText().toString().trim();
  6. s_emailID = email.getEditText().getText().toString().trim();
  7. s_pass = pass.getEditText().getText().toString().trim();
  8. s_cpass = cpass.getEditText().getText().toString().trim();
  9. s_Stadtteil = stadtteil.getEditText().getText().toString().trim();
  10. s_house = house.getEditText().getText().toString().trim();
  11. s_mobile = mobileno.getEditText().getText().toString().trim();
  12. s_houseNo = houseno.getEditText().getText().toString().trim();
  13. if(isValid()) {
  14. System.out.println("Alles valid");
  15. //RelativeLayout layout = findViewById(this);
  16. final ProgressDialog mDialog = new ProgressDialog(ChefRegister.this);
  17. mDialog.setCancelable(false);
  18. mDialog.setCanceledOnTouchOutside(false);
  19. mDialog.setMessage("Registrierung wird abgeschlossen einen Moment bitte ...");
  20. mDialog.show();
  21. FirebaseAuth.getInstance().createUserWithEmailAndPassword(s_emailID, s_pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  22. @Override
  23. public void onComplete(@NonNull Task<AuthResult> task) {
  24. if (task.isSuccessful()) {
  25. String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
  26. databaseReference = firebaseDatabase.getInstance().getReference("User").child(uid);
  27. final HashMap<String, String> hashMap = new HashMap<>();
  28. hashMap.put("Role", role);
  29. databaseReference.setValue(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
  30. @Override
  31. public void onComplete(@NonNull Task<Void> task) {
  32. HashMap<String, String> hashMap1 = new HashMap<>();
  33. hashMap1.put("Area", s_area);
  34. hashMap1.put("First Name", s_fName);
  35. hashMap1.put("Last Name", s_lName);
  36. hashMap1.put("Email", s_emailID);
  37. hashMap1.put("Stadtteil", s_Stadtteil);
  38. hashMap1.put("Mobile No", s_mobile);
  39. hashMap1.put("Password", s_pass);
  40. hashMap1.put("Confirm Password", s_cpass);
  41. hashMap1.put("Street", s_house);
  42. hashMap1.put("house No", s_houseNo);
  43. System.out.println("Checkpoint 1");
  44. firebaseDatabase.getInstance().getReference("Chef").child(firebaseAuth.getInstance()
  45. .getCurrentUser().getUid()).setValue(hashMap1).addOnCompleteListener(new OnCompleteListener<Void>() {
  46. @Override
  47. public void onComplete(@NonNull Task<Void> task) {
  48. mDialog.dismiss();
  49. firebaseAuth.getCurrentUser().sendEmailVerification().addOnCompleteListener(new OnCompleteListener<Void>() {
  50. @Override
  51. public void onComplete(@NonNull Task<Void> task) {
  52. if(task.isSuccessful()){
  53. System.out.println("Checkpoint 2");
  54. AlertDialog.Builder builder = new AlertDialog.Builder(ChefRegister.this);
  55. builder.setMessage("Registrierung erfolgreich abgeschlossen, bitte verifizieren Sie Ihre E-Mail");
  56. builder.setCancelable(false);
  57. builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
  58. @Override
  59. public void onClick(DialogInterface dialogInterface, int i) {
  60. dialogInterface.dismiss();
  61. }
  62. });
  63. builder.show();
  64. AlertDialog Alert = builder.create();
  65. Alert.show();
  66. }else{
  67. mDialog.dismiss();
  68. ReusableCodeForAll.ShowAlert(ChefRegister.this, "Error", task.getException().getMessage());
  69. }
  70. }
  71. });
  72. }
  73. });
  74. System.out.println("Checkpoint 3");
  75. }
  76. });
  77. }
  78. else{
  79. mDialog.dismiss();
  80. AlertDialog.Builder builder = new AlertDialog.Builder(ChefRegister.this);
  81. builder.setMessage("Fehler bei der Registrierung stellen Sie sicher, dass Sie mit dem Internet verbunden sind");
  82. builder.setCancelable(false);
  83. builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
  84. @Override
  85. public void onClick(DialogInterface dialogInterface, int i) {
  86. dialogInterface.dismiss();
  87. }
  88. });
  89. builder.show();
  90. }
  91. }
  92. });
  93. }
  94. }
  95. });

字符串

9cbw7uwe

9cbw7uwe1#

如果Task失败,它包含一个异常,其中包含有关失败原因的信息。您应该记录该异常以找出错误所在:
于是:

  1. FirebaseAuth.getInstance().createUserWithEmailAndPassword(s_emailID, s_pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  2. @Override
  3. public void onComplete(@NonNull Task<AuthResult> task) {
  4. if (task.isSuccessful()) {
  5. ...
  6. }
  7. else{
  8. Log.e("Auth", "Creating user failed", task.getException()); // 👈
  9. ...
  10. }
  11. }
  12. })

字符串

展开查看全部

相关问题