首页 > 解决方案 > 向 Firebase 用户 Android Studio 注册失败

问题描述

我正在按照有关 Android 和 Firebase 的教程来创建用户,但是每当我单击按钮注册执行消息时,都会给我这个:“此电子邮件已被另一个帐户使用”。我已经尝试了一切,我还添加了使用相同电子邮件的多个帐户的可能性,但它不起作用。(还尝试将我的 API 降级到 29,但仍然无法正常工作)

这是我的代码:

报名活动

FirebaseAuth mAuth;

private EditText email_input;
private EditText password_input;
private EditText username_input;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);


    mAuth = FirebaseAuth.getInstance();

    email_input = findViewById(R.id.email_box_register);
    password_input = findViewById(R.id.password_box_register);
    username_input = findViewById(R.id.username_box_register);

    registrati = findViewById(R.id.registrati_button);
    registrati.setOnClickListener(this);
}


private void registration() {
    String email = email_input.getText().toString().trim();
    String password = password_input.getText().toString().trim();
    String username = username_input.getText().toString().trim();


    if (username.isEmpty()) {
        username_input.setError("Username necessario");
        username_input.requestFocus();
        return;
    }

    if (email.isEmpty()) {
        email_input.setError("Email necessaria");
        email_input.requestFocus();
        return;
    }

    if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
        email_input.setError("Email non valida");
        email_input.requestFocus();
        return;
    }

    if (password.isEmpty()) {
        password_input.setError("Password necessaria");
        password_input.requestFocus();
        return;
    }


    if (password.length() < 6) {
        password_input.setError("Inferiore a 6");
        password_input.requestFocus();
        return;
    }

    mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {

            if(task.isSuccessful()){
                User user = new User(username, email, password);

                FirebaseDatabase.getInstance().getReference("Users")
                        .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                        .setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if(task.isSuccessful()){
                            Toast.makeText(getApplicationContext(),"Success", Toast.LENGTH_SHORT).show();
                            Intent welcome = new Intent(getApplicationContext(), LoginActivity.class);
                            startActivity(welcome);
                            overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
                            finish();
                        }else{
                            Toast.makeText(getApplicationContext(),"Failed", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
            }else{
                Toast.makeText(getApplicationContext(),"Registration failed", Toast.LENGTH_SHORT).show();
            }


        }
    });



}

@Override
public void onClick(View v) {
    if (v.getId() == R.id.registrati_button) {
        registration();
    }
}"""

这里是我的 gradle 文件

android { compileSdkVersion 29 buildToolsVersion "30.0.3"

defaultConfig {
    applicationId "com.example.fly"
    minSdkVersion 16
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
    viewBinding true
}

}

依赖{

implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.android.gms:play-services-maps:17.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.firebase:firebase-auth:21.0.1'
implementation 'com.google.firebase:firebase-database:20.0.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

}"""

标签: firebase

解决方案


推荐阅读