如何正确关闭应用程序?

时间:2019-02-18 12:15:10

标签: android exit

我被困退出我的Android应用程序。在我的应用中,我有一个首先被调用的主要活动,以及一个像这样启动的用户菜单:

Intent myIntent = new Intent(MainActivity.this, UserMainpage.class);
    startActivity(myIntent);
finish();
System.exit(0);

我在UserMainpage中创建了一个事件侦听器,以了解是否按下了后退按钮。

@Override
public void onBackPressed(){
    if(backcounter >= 1){
        *code to close app*
    }else{
        Toast.makeText(this, getResources().getString(R.string.EXIT_APPLICATION), Toast.LENGTH_LONG).show();
        backcounter++;
    }
}

第一次按下用户吐司,第二次退出应用程序。我能够关闭该应用程序,但是当我按下方形按钮时,我可以看到该应用程序仍在启动。有什么想法可以完全退出该应用程序吗?

我已经尝试过这些不同的建议,但是它们没有用:

finish();
finishAffinity();
finishAndRemoveTask();
System.exit(0);
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

以及

Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

if (getIntent().getBooleanExtra("EXIT", false)) {
    finish();
}

在主要活动中。

无法使用默认的后退按钮功能,因为主要活动将自动转发到登录页面或用户菜单。

1 个答案:

答案 0 :(得分:4)

  

第一次按下用户吐司,第二次按下   应该退出该应用。我能够关闭该应用,但是当我按   方形按钮我可以看到该应用程序仍在启动。任何想法如何   完全退出应用程序?

在Android上无法实现。您所能做的就是致电finish();。通常,您的应用程序仍将显示在正在运行的应用程序菜单中,但根本没有运行。所以不用担心。如果您的应用在调用finish()时关闭,那就很好了。