我有针对
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; }
它适用于pre 2.x设备,但不适用于具有2.1 update-1的Hero和具有2.2的Nexus One.
这个例子中是否有我遗漏的东西?或者任何人都可以指出它为什么不起作用?
我甚至没有在logcat中按下按钮.
解决方法
你在使用onKeyUp()吗?
在Android 2.x中仅使用Android 1.x中的onKeyDown()或Android 2.x中的onBackPressed()