我对Android 2.1的应用程序的建筑,我想覆盖后退按钮。
I have an application building against Android 2.1 and I want to override the back button.
我跟这里的例子:
http://android-developers.blogspot.com/2009_12_01_archive.html
和我的code是如下:
And my code is as follows:
@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;
}
它适用于pre 2.x的设备,但没有一个英雄2.1更新-1和Nexus One的2.2工作。
It works on pre 2.x devices but doesn't work on a Hero with 2.1 update-1 and a Nexus One with 2.2.
有somwthing我从这个例子里缺?或者,任何人都可以指出为什么它不工作?
Is there somwthing I am missing from the example? Or can anyone point out why it isn't working?
我不甚至可以按钮pressed在logcat中。
I dont even get the button pressed in the logcat.
您使用的的onkeyup()
使用刚的onkeydown()在Android的1.x或 onBack pressed()在安卓2.X
Use just onKeyDown() in Android 1.x or onBackPressed() in Android 2.x