如何模拟按下后退按钮的主页按钮
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);
}
我试图让我的应用程序在用户按下后退按钮时不关闭,并且至少在一段时间内保持相同状态,就像主页按钮一样。我搜索了一下,有人建议这样做。
@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);
}