我的后退按钮事件和关闭我的应用的代码有问题。我解释一下:
我有一个有两个活动的应用程序。第一个活动显示列表视图中的事件列表。当您单击其中一个事件时,将打开一个可以确认所选事件的出席情况的新活动。如果是第二个活动,则按下确认出勤的按钮返回主活动。
我的问题是,如果您从主活动中持有一个事件并确认第二个活动,当主要活动返回按钮而不是关闭应用程序返回第二个活动时,该按钮会将您返回到主活动。
因此我想记录按下按钮并关闭应用程序的事件,我测试了:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
android.os.Process.killProcess(android.os.Process.myPid());
return true;
}
return super.onKeyDown(keyCode, event);
}
也是:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
exit(0);
return true;
}
return super.onKeyDown(keyCode, event);
}
非常感谢你的时间和帮助
ANSWER
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory( Intent.CATEGORY_HOME );
homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(homeIntent);
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 0 :(得分:0)
我认为您已将活动设置错误。您应该在第二个活动中设置结果,然后调用它的finish()方法。然后后退按钮将始终按预期工作,您不必像这样做奇怪的黑客。