如果按BACK按钮,我想要隐藏我的应用程序。
@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);
}
但我的应用关闭了。我做错了什么?
答案 0 :(得分:1)
您必须覆盖Activity类的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();
}
答案 1 :(得分:0)
通过将活动保持在后面,您的意思是后退按钮应该像主页按钮一样。如果是这样的话,试试这个,
@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);
}
将此添加到您的“活动”中会使您的应用看起来像是对主页按钮点击事件做出响应,您的应用会隐藏但不会关闭。
答案 2 :(得分:-1)
你可以试试这个:
Intent intent2 = new Intent(getApplicationContext(), MainActivity.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent2.putExtra("EXIT", true);
startActivity(intent2);
进入您的MainActivity:
将此内容写入onCreate()
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
试试这个。它会将您发送到 HomeScreen 。
答案 3 :(得分:-3)
我建议你重新考虑一下。如果允许每个应用程序按照他们希望的那样使用按钮,则不可能在用户体验中保持一定的一致性。
物理按钮应该对所有应用程序都一样。一位教授告诉我一次:“你的应用程序没什么特别的。”不是因为它不是很好,只是它应该最佳地遵循某些标准,以免混淆用户。