我有一个针对Android 2.1的应用程序,并且我想要覆盖返回按钮。
我按照这里的例子进行:
http://android-developers.blogspot.com/2009_12_01_archive.html
我的代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return true;
}
@Override
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
这段代码在2.x版本以下的设备上可以正常运行,但在更新至2.1 update-1的Hero和2.2版本的Nexus One上无法正常工作。
请问我是否漏掉了什么示例中的内容?或者有没有人能指出为什么它不能工作?
在logcat中,我甚至没有看到按钮按下的信息。