Android:当用户离开应用程序时如何退出应用程序

时间:2013-09-09 08:20:40

标签: android

我只是想在用户按下主页时完全退出应用,或者切换到其他应用。有没有我可以听的事件,以便我可以退出代码?

3 个答案:

答案 0 :(得分:0)

当按下Home键时,您可以这样处理:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_HOME) {
        finish();
    }
    return false;
}

答案 1 :(得分:0)

试试这个,我可以正常使用

// clear whole activity stack

    Intent intent = new Intent("clearStackActivity");
    intent.setType("text/plain");
    sendBroadcast(intent);

// start your new activity
Intent intent = new Intent(OrderComplete.this,
                    MainActivity.class);
startActivity(intent);

将这些行放在所有活动的onCreate()方法中,或者如果你有任何基本活动,你可以将它放在那里,那么就不需要放入所有活动。

private KillReceiver clearActivityStack;
clearActivityStack = new KillReceiver();
        registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain"));

将此课程放入您的基础活动

private final class KillReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            finish();
        }
    }

答案 2 :(得分:0)

我是从here找到的。

在您的活动中覆盖以下方法。

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
}

覆盖上述方法后,现在您可以使用onKeyDown()方法轻松收听活动中的 HOME 按键。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {     

    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
       //The Code Want to Perform. 
    }
});