首页 > 解决方案 > 应用程序退出使用 Back Pressed 事件

问题描述

我的应用程序的主要活动是“LoginActivity”。如果用户登录一次绕过登录活动,应用程序每次都会打开主活动。我想在 Main Activity 上使用后按事件退出应用程序。如果我使用“finish();” 在主活动上,我的应用程序正在工作,我想关闭应用程序。,我该如何解决这个问题。

登录活动:

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
    boolean alreadysignIn = sharedPreferences.getBoolean("haveCurrUser", false);
    if (alreadysignIn) {

        GoToMainActivity();
    }


 private void GoToMainActivity() {

    //Using For by-pass to log in Activity.
    //Use for log out.
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    sharedPreferences.edit().putBoolean("haveCurrUser", true).apply();

    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
    startActivity(intent);
    finish();
}

主要活动:

private long backPressedTime;
....
@Override
public void onBackPressed() {
    if (backPressedTime + 2000 > System.currentTimeMillis()) {

        snackbar.dismiss();
        super.onBackPressed();
        finish();
    } else {

        snackbar = Snackbar.make(layoutMainContainer, getResources().getString(R.string.exit_info), Snackbar.LENGTH_SHORT);
        snackbar.show();
    }
    backPressedTime = System.currentTimeMillis();
}

标签: androidexitonbackpressed

解决方案


你可以使用:

System.exit(0);

在您的 onBackPressed() 方法中。

替换完成();与 System.exit(0);

希望这是您正在寻找的答案。

System.exit(0)

VM 停止进一步执行,您的程序将退出。


推荐阅读