如果应用程序不在前台,请将其杀死

时间:2012-07-24 13:50:08

标签: android

有没有办法在应用程序进入后台后立即将其终止。例如,如果我按下主页并再次启动应用程序,它会进入相同的活动,但我想要的是,只要应用程序转到后台,它就应该被杀死,或者它应该从第一个活动开始。

2 个答案:

答案 0 :(得分:2)

它不是“杀死”你的app perse,但这会给你效果。

使用FLAG_NO_HISTORY创建用于开始第二个Nth活动的意图。这样他们就会在离开屏幕后立即完成。

Intent i = new Intent(this, SomeOtherActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);

当您的活动离开屏幕时,它将完成,这将使其在下次从主屏幕启动时从启动活动启动。

答案 1 :(得分:-2)

当用户按下主页按钮时,您可以捕获该事件,如下所示

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

您还可以覆盖活动中的onBackPressed()方法,并从那里调用完成。