如何在按下后退按钮时模拟主页按钮

时间:2021-01-22 07:32:15

标签: android android-activity

我试图让我的应用在用户按下后退按钮时不关闭,并至少在一段时间内保持相同状态,就像主页按钮一样。我搜索过,有人建议这样做。

@Override
    public void onBackPressed() {
        super.onBackPressed();
        this.moveTaskToBack(true);
    }

但这没有帮助。我必须提到我使用此代码的活动不是 LAUNCHER 活动,在此活动之前,有一个启动画面。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

在您的活动中尝试我的代码。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.d(TAG, "onKeyDown: ");
    if(keyCode == KeyEvent.KEYCODE_BACK){
        goHome();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

private void goHome() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

按下键时启动主屏幕。

答案 1 :(得分:-1)

您不应在 onBackPressed() 中调用超级方法。应该是这样的

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}