我正在开发一个Android项目,并注意到我的LogCat发出了一个奇怪的警告,几乎每次我按下后退按钮时都会发出警告。
W/KeyCharacterMap(9001): Can't open keycharmap file
W/KeyCharacterMap(9001): Error loading keycharmap file '/system/usr/keychars/qt602240key.kcm.bin'. hw.keyboards.65537.devname='qt602240key'
W/KeyCharacterMap(9001): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
有两件事让这很奇怪。
1)如果我在两个活动之间来回走动,这只会在我连续第一次按下后退按钮时发生。例如,如果我从活动A开始,转到活动B,然后回击,然后出现错误。但是,如果我去活动B并再次回击它就不会出现。 Weirder仍然,如果我然后转到活动C,回击(错误按预期显示),然后转到活动B再返回,然后错误再次出现。它是两次活动之间连续两次无法出现的。
2)这似乎发生在按下后退按钮之前。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Here to implements for your code.
Log.d("Sophie", "KEYCODE_BACK");
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed()
{
Log.d("Sophie", "on back pressed");
}
产生日志:
01-07 13:13:38.020: W/KeyCharacterMap(9001): Can't open keycharmap file
01-07 13:13:38.020: W/KeyCharacterMap(9001): Error loading keycharmap file '/system/usr/keychars/qt602240key.kcm.bin'. hw.keyboards.65537.devname='qt602240key'
01-07 13:13:38.020: W/KeyCharacterMap(9001): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
01-07 13:13:38.020: D/Sophie(9001): KEYCODE_BACK
01-07 13:13:38.090: D/Sophie(9001): on back pressed
这有点令人担忧,但大多只是令人困惑。 有没有人对发生的事情有最微妙的想法?
编辑以获取更多信息:
警告也出现在其他物理按钮上(但不是主页)。我在搜索,设置和音量按钮上看到过它。但是,音量按钮附带的警告使用了与其他三个不同的devname。