如何处理后退按钮

How to probably handle Back Button

我知道这是一个常见问题,但没有一个讨论帖具有 right/efficient 答案。

我有一个 MainActivity,里面有 6 个不同的片段,我有一个抽屉菜单,还有一个 startActivity,它在开始时包含一个带有徽标和应用程序名称的闪屏

我的问题如下:

  1. 当我在主界面时 activity 打开抽屉然后点击后退按钮关闭菜单然后当我再次打开它并点击后退按钮时它会转到startActivity 不关闭菜单

  2. 当我在其中一个片段中并且抽屉菜单打开时,我按下后退按钮它保持ps菜单打开并转到上一个fragment/activity

  3. 我从不希望我的后退按钮将我带到 startActivity...这可能吗?

这是我在 MainActivity 中的 onBackPressed() 方法

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);



    if (drawer.isDrawerOpen(GravityCompat.END )) {
        drawer.closeDrawer(GravityCompat.START);}

    else
      super.onBackPressed();


}

ps:如果您不知道我在说什么或不知道答案,虽然不胜感激,但请不要输入任何答案或错误的答案,这只会让这个时间更长线程超出需要。

谢谢:)

使用 "splashscreens",您可以通过在相关 <activity> 条目中将 android:noHistory 属性设置为“true”,将它们从 "back-stack" 中删除在您的 AndroidManifest.xml 文件中。例如:

<activity
    android:name=".startActivity"
    android:noHistory="true" />