目前,我的应用程序有一个webView,加载某些表单/网站等。
现在我想在这个webView中捕获KeyPressEvents。以下是我正在使用的代码:
@Override
public boolean dispatchKeyEvent(KeyEvent KEvent)
{
int keyaction = KEvent.getAction();
if(keyaction == KeyEvent.ACTION_DOWN)
{
int keycode = KEvent.getKeyCode();
int keyunicode = KEvent.getUnicodeChar(KEvent.getMetaState() );
char character = (char) keyunicode;
Toast.makeText(this,"DEBUG MESSAGE KEY=" + character + " KEYCODE=" + keycode, Toast.LENGTH_SHORT).show();
}
return super.dispatchKeyEvent(KEvent);
}
使用上述代码,我只能捕获退格和数字。字母和特殊字符没有反映出来。
这是应该这样吗?还是我必须创建自己的应用程序特定键盘来捕获按键事件(Android 应用程序特定软键盘)?