Java 后退按钮->;模拟主页按钮
如果按“后退”按钮,我想隐藏我的应用程序Java 后退按钮->;模拟主页按钮,java,android,Java,Android,如果按“后退”按钮,我想隐藏我的应用程序 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { this.moveTaskToBack(true); return true; } retur
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
{
this.moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
但是我的应用程序关闭了。我做错了什么?我建议你重新考虑一下。如果每个应用程序都允许按自己的意愿使用按钮,那么就不可能在用户体验中保持一定的一致性
物理按钮对所有应用程序都应该是一样的。一位教授曾经告诉我:“你的应用程序没什么特别的。”不是说它不好,而是说它最好遵循某些标准,以免混淆用户。你必须覆盖活动类的
onBackPressed()
方法。
下面是一个代码示例:
@Override
public void onBackPressed() {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
您还必须在子活动中重写onBackPressed()
方法:
@Override
public void onBackPressed() {
this.getParent().onBackPressed();
}
您可以尝试以下方法:
Intent intent2 = new Intent(getApplicationContext(), MainActivity.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent2.putExtra("EXIT", true);
startActivity(intent2);
并进入您的主要活动:
在onCreate()中编写
试试这个。通过将活动保留在后面,它会将您发送到主屏幕您的意思是后退按钮应该像主页按钮一样工作吗。如果是这样的话,试试这个
@Override
public void onBackPressed() {
Intent backtoHome = new Intent(Intent.ACTION_MAIN);
backtoHome.addCategory(Intent.CATEGORY_HOME);
backtoHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(backtoHome);
}
将此项添加到您的活动中,将使您的应用程序看起来像是在响应“主页”按钮单击事件,并且您的应用程序将隐藏但不关闭。可能有帮助您的意思是崩溃?为什么不调用Finish?如果我按BAck按钮,我想模拟HOME按钮。@Amisono:运行我的答案,看看它是否有效。:)不它对我不起作用。可能它不起作用,因为我使用了TabActivity?您可以在tab activity中重写onBackPressed()。TabActivity已被弃用,因此使用Fragmentsany评论实现您的应用程序是一个好主意。您是如何得出这个结论的?
@Override
public void onBackPressed() {
Intent backtoHome = new Intent(Intent.ACTION_MAIN);
backtoHome.addCategory(Intent.CATEGORY_HOME);
backtoHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(backtoHome);
}