0

Я пытаюсь получить свое приложение для Android для аутентификации пользователей (только с помощью электронной почты/пароля) через Firebase. У меня есть Вход, Регистрация и Основная деятельность (Домашняя страница).Firebase Authentication with Android

public class Register extends AppCompatActivity { 

private EditText txtEmailAddress, txtPassword; 
private FirebaseAuth firebaseAuth; 


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

    txtEmailAddress = (EditText)findViewById(R.id.reg_email); 
    txtPassword = (EditText)findViewById(R.id.reg_password); 
    firebaseAuth = FirebaseAuth.getInstance(); 

} 

public void btnRegistrationUser_Click(View v) { 
    final ProgressDialog progressDialog = ProgressDialog.show(Register.this, "Please wait", "Processing",true); 
    firebaseAuth.createUserWithEmailAndPassword(txtEmailAddress.getText().toString(),txtPassword.getText().toString()) 
      .addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
     @Override 
     public void onComplete(@NonNull Task<AuthResult> task) { 
      progressDialog.dismiss(); 

      if(task.isSuccessful()){ 
       Toast.makeText(Register.this,"Registration successful",Toast.LENGTH_LONG).show(); 
       Intent intent = new Intent(Register.this,LoginActivity.class); 
       startActivity(intent); 

      }else{ 
       Log.e("ERROR",task.getException().toString()); 
       Toast.makeText(Register.this, task.getException().getMessage(),Toast.LENGTH_LONG).show(); 
      } 
      progressDialog.dismiss(); 
     } 
    }); 
} 

Это - мой register.java. Я могу запустить приложение отлично, но после ввода информации и нажатия кнопки, я получаю бесконечный ProgressDialog, просто вращающийся и не обновляющийся до Firebase.

Я следил за различными учебниками и искал ответы, но, похоже, не нашел никаких исправлений. У меня есть страница манифеста, разрешающая доступ к интернету, я не верю, что у меня есть проблемы с градиентом (приложение работает отлично, минус, не позволяя мне перейти на домашнюю страницу сейчас (lol), но никаких ошибок), и у меня есть Google -services.json, вставленный в мое приложение.

Если это помогает, код ниже - это мой login.java. Спасибо за любую помощь!

public class LoginActivity extends AppCompatActivity { 

private EditText txtEmailLogin; 
private EditText txtPassword; 

private FirebaseAuth firebaseAuth; 
private FirebaseAuth.AuthStateListener mAuthListener; 


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

    txtEmailLogin = (EditText) findViewById(R.id.editTextEmail); 
    txtPassword = (EditText)findViewById(R.id.editTextPassword); 
    firebaseAuth = FirebaseAuth.getInstance(); 
} 

public void btnRegistration_Click(View v){ 
    Intent registration = new Intent(LoginActivity.this,Register.class); 
    startActivity(registration); 
} 

public void btnUserLogin_Click(View v){ 
    final ProgressDialog progressDialog = ProgressDialog.show(LoginActivity.this,"Please wait","Processing",true); 

    firebaseAuth.signInWithEmailAndPassword(txtEmailLogin.getText().toString(),txtPassword.getText().toString()) 
      .addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        progressDialog.dismiss(); 

        if(task.isSuccessful()){ 
         Toast.makeText(LoginActivity.this,"Login successful",Toast.LENGTH_LONG).show(); 
         Intent intent = new Intent (LoginActivity.this,MainActivity.class); 
         startActivity(intent); 

        }else{ 
         Log.e("ERROR",task.getException().toString()); 
         Toast.makeText(LoginActivity.this, task.getException().getMessage(),Toast.LENGTH_LONG).show(); 
        } 
       } 
      }); 
} 

ответ

0
@Override 
public void onStart() { 
    super.onStart(); 
    mAuth.addAuthStateListener(mAuthListener); 
} 
@Override 
public void onStop() { 
    super.onStop(); 
    if (mAuthListener != null) { 
     mAuth.removeAuthStateListener(mAuthListener); 
    } 
} 

Если вы используете инструменты андроида студии клик и конфигурация представляет собой оснастку вашей проблемы, кажется, регистрации onauthstatelistner

 Смежные вопросы

  • Нет связанных вопросов^_^