I am making a simple authentication app in Android using Firebase authentication. Till now I am successful in signing the user in, however the issue is that the user remains
Use this code FirebaseAuth.getInstance().signOut();
use this`
findViewById(R.id.signout).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FirebaseAuth.getInstance().signOut();
Intent intent = new Intent(currentActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);//makesure user cant go back
startActivity(intent);
}
});`
This one just signs you out from the current application .
if you are using a fragment do this
AuthUI.getInstance().signOut(getActivity());
if you are using an activity do this
AuthUI.getInstance().signOut(getApplicationContext);
cheers!
if you are using firebaseAuthUI then recommended method is
public void onClick(View v) {
if (v.getId() == R.id.sign_out) {
AuthUI.getInstance()
.signOut(this)
.addOnCompleteListener(new OnCompleteListener<Void>() {
public void onComplete(@NonNull Task<Void> task) {
// user is now signed out
startActivity(new Intent(MyActivity.this, SignInActivity.class));
finish();
}
});
}
}
according to firebaseAuthUI github Guide.
Try this one it is working for me.
FirebaseAuth.getInstance()
.signOut(this)
.addOnCompleteListener(new OnCompleteListener<Void>() {
public void onComplete(@NonNull Task<Void> task) {
// user is now signed out
startActivity(new Intent(YOUR CURRENT ACTIVITY, ACTIVITY IN WHICH YOU WANT TO MOVE));
finish();
}
});
FirebaseAuth.getInstance().signOut();
Then, to detect the sign-in status:
private FirebaseAuth mAuth = FirebaseAuth.getInstance()
public static boolean mAuthSignIn() {
if (mAuth != null) {
FirebaseUser user = mAuth.getCurrentUser();
return user != null;
}
return false;
}