Android: регистрация учетной записи электронной почты не удалась для firebase - PullRequest
0 голосов
/ 01 октября 2018

Я пишу очень простое приложение для проверки работоспособности Firebase.Я добавляю эти зависимости в свой build.gradle (приложение):

implementation 'com.google.firebase:firebase-core:9.6.0'
compile 'com.firebaseui:firebase-ui-auth:4.2.0'
compile 'com.firebaseui:firebase-ui-database:4.2.0'
compile "com.google.firebase:firebase-messaging:17.3.0"

и этот плагин в конце файла:

apply plugin: 'com.google.gms.google-services'

и classpath 'com.google.gms:google-services:4.0.1' в свой build.gradle (проект).В mainActivity я добавляю этот код для регистрации / входа пользователя с использованием Firebase Authentication:

public class MainActivity extends AppCompatActivity {
    public final int SIGN_IN_REQUEST_CODE=123;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if(FirebaseAuth.getInstance().getCurrentUser() == null) {
            // Start sign in/sign up activity
            startActivityForResult(
                    AuthUI.getInstance()
                            .createSignInIntentBuilder()
                            .build(),
                    SIGN_IN_REQUEST_CODE
            );
        }
        else {
            // User is already signed in. Therefore, display
            // a welcome Toast
            Toast.makeText(this,
                    "Welcome " + FirebaseAuth.getInstance()
                            .getCurrentUser()
                            .getDisplayName(),
                    Toast.LENGTH_LONG)
                    .show();

            // Load chat room contents
            displayChatMessages();
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == SIGN_IN_REQUEST_CODE) {
            if(resultCode == RESULT_OK) {
                Toast.makeText(this,
                        "Successfully signed in. Welcome!",
                        Toast.LENGTH_LONG)
                        .show();
                displayChatMessages();
            } else {
                Toast.makeText(this,
                        "We couldn't sign you in. Please try again later.",
                        Toast.LENGTH_LONG)
                        .show();

                // Close the app
                finish();
            }
        }
    }

    private void displayChatMessages() {
    }
}

Я отлаживаю код при выполнении условия if(FirebaseAuth.getInstance().getCurrentUser() == null), но onActivityResult никогда не запускается.Когда я проверил на мобильном телефоне и заполнил адрес электронной почты, имя пользователя и пароль, и я нажал кнопку «Сохранить», это показывает ошибку «Регистрация учетной записи электронной почты не удалась».Где моя ошибка?спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 октября 2018

попробуйте этот код

  reg_button.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           String email = reg_email.getText().toString();
           String password = reg_password.getText().toString();
           String confirm_pass =confirm_password.getText().toString();

           if (!TextUtils.isEmpty(email) &&  !TextUtils.isEmpty(password)  && !TextUtils.isEmpty(confirm_pass))
           {

               if (password.equals(confirm_pass))
               {
                   reg_progress_bar.setVisibility(View.VISIBLE);
                   mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                       @Override
                       public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful())
                            {
                               Intent settingActivity = new Intent(getApplicationContext(),ProfileActivity.class);
                               startActivity(settingActivity);
                               finish();
                            }

                            else
                            {
                                String errorMessage = task.getException().getMessage();
                                Toast.makeText(RegisterActivity.this, "error" +errorMessage, Toast.LENGTH_SHORT).show();
                            }
                           reg_progress_bar.setVisibility(View.INVISIBLE);


                       }
                   });
               }
               else
               {
                   Toast.makeText(RegisterActivity.this, "password and confirm password does not match", Toast.LENGTH_SHORT).show();
               }

           }



       }
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...