Je rencontre un problème d'authentification dans Firebase via l'application android. tout va bien avec le code et les connexions. Mais je ne suis toujours pas authentifié. Je l'ai fait toutes les conditions requises commeAuthentification Firebase: la méthode signInWithEmailAndPassword ne répond pas du tout
- ont permis Entrez votre email/mot de passe dans les méthodes de Firebase
- Ajout de toutes les dépendances nécessaires dans build.gradle
- vérifié avec la modification des règles (utilisateur) à null et! nul. connexions
- se fait avec succès
le problème est dans la méthode signInWithEmialAndPassword
, ni le cas, ni autre déclaration est exécuté. Pourquoi cela est-il ainsi? J'ai beaucoup cherché mais en vain. J'utilise l'émulateur NEXUS 5X API 26 pas le périphérique réel. Voici le code ..
package com.example.abid.fireauthapp;
import java.net.PasswordAuthentication;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
// ..
private EditText mEmailField;
private EditText mPasswordField;
private Button mLoginButton;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
// private DatabaseReference rootRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEmailField = (EditText) findViewById(R.id.emailField);
mPasswordField = (EditText) findViewById(R.id.passwordField);
mLoginButton = (Button) findViewById(R.id.loginButton);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
//show a welcome messgage and start a new activity
Toast.makeText(MainActivity.this, "Welcome", Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this,Main2Activity.class));
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// ...
}
};
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StartSignIn();
}
});
}
@Override
public void onStart() {
super.onStart();
if (mAuthListener == null) {
mAuth.addAuthStateListener(mAuthListener);
}
}
@Override
public void onStop() {
super.onStop();
if (mAuthListener != null) {
mAuth.removeAuthStateListener(mAuthListener);
}
}
private void StartSignIn() {
String email = mEmailField.getText().toString();
String pass = mPasswordField.getText().toString();
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(pass)){
Toast.makeText(MainActivity.this, "Fields are empty...", Toast.LENGTH_LONG).show();
}
else {
mAuth.signInWithEmailAndPassword(email, pass)
.addOnCompleteListener(this,new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task task) {
Log.d(TAG, "signInWithEmail:onComplete:" + task.isSuccessful());
FirebaseUser user = mAuth.getCurrentUser();
Toast.makeText(MainActivity.this, "You are sign in..", Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this,Main2Activity.class));
//These Both if and else statement dont get executed... Why ??
if (user == null) {
Log.w(TAG, "signInWithEmail:failed", task.getException());
Toast.makeText(MainActivity.this, "Error Occured",
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "Signed In successfully..", Toast.LENGTH_LONG).show();
}
// ...
}
});
}
}
}
Afficher le code pour aider à comprendre .. – amuyu
J'ai montré le code s'il vous plaît –
@amuyu veuillez me guider s'il vous plaît –