您好,在谷歌上搜索后,我来这里寻求帮助。当用户按下设备的后退按钮时,我使用以下方法返回。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.i("===BACK BUTTON PRESSED===", "BACK BUTTON");
return true;
} else {
Log.i("===ELSE BACK BUTTON PRESSED===", "ELSE BACK BUTTON");
return super.onKeyDown(keyCode, event);
}
}
但 logcat 不显示任何日志消息。
W/KeyCharacterMap(517): No keyboard for id 0
W/KeyCharacterMap(517):使用默认键盘映射:/system/usr/keychars/qwerty.kcm.bin
请帮我找到这个。
编辑问题:
这是我的整个类(class)。
public class Dreams_Reminder_detail_screen extends Activity {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
GroupDreams.group.back();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dreams_reminder_details_screen);
}
最佳答案
您可以覆盖 onBackPressed()在那里运行并实现您的逻辑。
请引用这篇安卓博文"Back and other hard keys: three stories"以获得更多的理解。
您可以重写 GroupDreams 中的 onKeyDown 函数,也许这会起作用
关于Android onKeyDown()在按下后退按钮时不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11822832/