Android,使用以下命令关闭应用程序:android.os.Process.killProcess(android.os.Process.myPid());

时间:2012-02-23 09:16:31

标签: android android-activity exit

在我的项目中,无论如何我需要关闭应用程序(我知道它不是由Android建议的,但我的客户需要它)。

大多数情况下,当我们按正常方式关闭应用程序时(按下主页按钮),当您按住主页按钮时,按下任务管理器后,您将看到后端活动应用程序列表。我需要以不显示应用程序的方式删除应用程序。

在我的研究之后,我发现使用像这样的杀戮过程。

android.os.Process.killProcess(android.os.Process.myPid());

我在一个测试项目中测试了这个命令,它运行正常。但是,我不知道为什么在这个项目中它只是一个简单的this.finish();。我的意思是当我点击退出菜单时,它应该关闭整个应用程序,但它只是关闭活动。

我已将此代码放在一个通用(活动)类中,所有其他活动都从该类继承。

请告诉我什么/问题在哪里?感谢

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(Menu.NONE, Menu.FIRST, Menu.NONE, "Exit");

    return (super.onCreateOptionsMenu(menu));
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case Menu.FIRST:
            android.os.Process.killProcess(android.os.Process.myPid());
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

1 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml中:

android:excludeFromRecents="true"
  

是否应排除此活动启动的任务   从最近使用的应用程序列表(“最近的应用程序”)。那是,   当此活动是新任务的根活动时,此属性   确定任务是否不应出现在最近的列表中   应用。如果任务应从列表中排除,则为“true”; “假”如果   它应该包括在内。默认值为“false”。

http://developer.android.com/guide/topics/manifest/activity-element.html#exclude