当前位置: 首页 > 知识库问答 >
问题:

如何在android中按下返回按钮退出应用程序?

白星渊
2023-03-14

按下后退按钮,我试图从活动中退出应用程序。但问题是在按下返回键后,刷新相同的活动2到3次,进入登录活动,不退出应用程序。有人可以帮助解决这个问题。

以下是我必须尝试退出应用程序的方式。

@Override
    public void onBackPressed() {
        super.onBackPressed();

        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        final SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putBoolean("LISTVIEW_EVENT_ONE", false);
        editor.putBoolean("LISTVIEW_EVENT_TWO", false);
        editor.commit();
        this.finish();

        //Intent startMain = new Intent(Intent.ACTION_MAIN);
        //startMain.addCategory(Intent.CATEGORY_HOME);
        //startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        /*Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startMain);*/

       /* Intent a = new Intent(Intent.ACTION_MAIN);
        a.addCategory(Intent.CATEGORY_HOME);
        a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(a);*/
    }

共有3个答案

公羊浩气
2023-03-14

在你的活动或活动上下文中(向下转换上下文也可以)使用下面的代码。

 moveTaskToBack(true);
高晋
2023-03-14
public void onBackPressed() {
    super.onBackPressed();

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    final SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean("LISTVIEW_EVENT_ONE", false);
    editor.putBoolean("LISTVIEW_EVENT_TWO", false);
    editor.commit();
    this.finish();

   super.onBackPressed();

}
余歌者
2023-03-14

它为我工作:

finishAffinity();
android.os.Process.killProcess(android.os.Process.myPid());
 类似资料:
  • 在我的应用程序中,我想在按下后退按钮时退出应用程序,这是我的代码: 它工作正常,但当我退出应用程序时,它不会完全退出,并显示带有我的应用程序徽标的空白页面,当我再次按下后退按钮退出应用程序,我如何修复它??? 编辑: 我使用这个代码而不是上面的代码,但我的应用程序完全退出,但我希望它在后台运行并且不完全退出,我该怎么做?

  • 在我的应用程序中,我有一个注销功能。如果用户单击注销,它将进入主屏幕。现在,我按下后退按钮退出我的应用程序。但我想要的是,我需要自动退出(即以编程方式退出),就像返回按钮功能一样。我知道,通过调用finish()可以实现该功能。但问题是,它会转到上一个活动。

  • 我正在开发一个需要

  • 问题内容: 我想在片段类中禁用后退按钮。在此片段中似乎不起作用。如何禁用后退按钮? 这是我的示例代码: 问题答案: 您必须重写父FragmentActivity类的onBackPressed。因此,将您的代码放在父FragmentActivity中。或者,您可以使用以下方法调用父方法: 在FragmentActivity中重写onBackPressed方法,而不调用其超类来禁用后退按钮。

  • 我正在使用android导航组件库。我用导航图设置了两个片段。我想在我的片段内按下后退按钮时做一些额外的动作。 我使用这段代码来处理工具栏上的按钮点击,但我也想处理后退按钮按下。我该怎么做?

  • 我正在编写一个使用ChessClock类的游戏应用程序。这两个运动员每人都有一个钟。时钟每十分之一秒向自己发送一个信息流,如果运行,则减少剩余时间。当时间到期时,时钟会调用父视图组中的一个方法,该方法会停止时钟并设置一个标志,该标志会导致忽略进一步的触摸事件,从而用户无法再移动工件。我正在用kotlin写作,但我认为java程序员也会明白这一点: 这可以正常工作,但是如果用户按下后退按钮然后开始一