在我的项目中,我无论如何都需要关闭应用程序(我知道它不是安卓系统建议的,但我的客户需要它)。
大多数情况下,当我们以正常方式关闭应用程序时(按下主页按钮),当你按住主页按钮,然后按下任务管理器,你会在后端看到活动应用程序的列表。我需要删除应用程序,这样它就不会显示它。
经过我的研究,我发现这种方法是使用杀死过程这样。
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);
}
}
在AndroidManifest.xml中:
android:excludeFromRecents="true"
是否应排除此活动启动的任务从最近使用的应用程序列表("最近的应用程序")中选择。也就是说,当该活动是新任务的根活动时,该属性确定该任务是否不应出现在最近的列表中应用程序。如果任务应从列表中排除,则为"true";如果它应该包括在内。默认值为"false"。
http://developer.android.com/guide/topics/manifest/activity-element.html#exclude