如何模拟按下后退按钮的主页按钮

how to emulate home button on back button pressed

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

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

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

我做错了什么?

在你的 activity 中尝试我的代码。

@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);
}

当按键返回时,请启动主屏幕。

您不应该在 onBackPressed() 中调用 super 方法。应该就是这样

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