Back Button Will Bring To Home Page After Firebase Logout On App
My issue is very similar to this post: (When I press back button on login page it will go to main menu (after I select yes for logout in MainMenu activity)).
Basically, even after I select "YES" option to logout, it does bring me back to the indented page (Login page). However, when I press the back button on my actual phone (S7 Edge+) and 2 emulators (Nexus 4 & Pixel 2 XL), it bring me to the dashboard page again which it should not be that way.
**WHAT I HAVE TRIED was I added finish() to Logout function and in the menu as seen below:
Logout function/method
private void Logout(){
firebaseAuth.signOut();
finish();
startActivity(new Intent(SecondActivity.this, MainActivity.class));
finish();
}
Menu
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.logoutMenu: {
final AlertDialog.Builder builder = new AlertDialog.Builder(SecondActivity.this);
builder.setMessage("Are you sure you want to logout?");
builder.setCancelable(true);
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(SecondActivity.this, SecondActivity.class));
}
});
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(SecondActivity.this, "You are succesfully signed out!", Toast.LENGTH_LONG).show();
Logout();
finish();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
break;
}
case R.id.profileMenu: {
startActivity(new Intent(SecondActivity.this, UpdateProfileActivity.class));
break;
}
case R.id.passwordMenu: {
startActivity(new Intent(SecondActivity.this, UpdatePasswordActivity.class));
break;
}
}
return super.onOptionsItemSelected(item);
}
The issue still persist. There is no error found in logcat though so I am not sure how to overcome this issue?
Does anyone have a solution? Please do guide me.
Thank you.
Answer
private void Logout(){
firebaseAuth.signOut();
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
}
**Just try this **
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM