0

我只想在用户按主页时完全退出应用程序,或切换到其他应用程序。有什么我可以听的事件,以便我可以执行退出代码吗?

4

3 回答 3

0

我从这里找到了这个。

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

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

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

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

    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
       //The Code Want to Perform. 
    }
});
于 2013-09-09T08:32:55.050 回答
0

当按下 Home 键时,您的处理方式如下:

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

    if (keyCode == KeyEvent.KEYCODE_HOME) {
        finish();
    }
    return false;
}
于 2013-09-09T08:25:57.343 回答
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"));

把这个类放在你的 Base 活动中

private final class KillReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            finish();
        }
    }
于 2013-09-09T08:30:49.350 回答