Android 开发中屏蔽物理键盘

来源:互联网 发布:淘宝漫步者官方旗舰店 编辑:程序博客网 时间:2024/05/17 22:12

VR项目中,通过无线鼠标连接蓝牙来控制VR,但是蓝牙连接上后点击搜索框时无法弹出输入法键盘,这是有物理键盘造成的, 需屏蔽物理键盘来解决这个问题, 实现如下:
frameworks/base/services/Java/com/Android/server/wm/WindowManagerService.java 中的 computeScreenConfigurationLocked 方法 将hardKeyboardAvailable = false。

  // Determine whether a hard keyboard is available and enabled.            boolean hardKeyboardAvailable =false;//config.keyboard != Configuration.KEYBOARD_NOKEYS;            if (hardKeyboardAvailable != mHardKeyboardAvailable) {                mHardKeyboardAvailable = hardKeyboardAvailable;                mHardKeyboardEnabled = hardKeyboardAvailable;                mH.removeMessages(H.REPORT_HARD_KEYBOARD_STATUS_CHANGE);                mH.sendEmptyMessage(H.REPORT_HARD_KEYBOARD_STATUS_CHANGE);            }            if (!mHardKeyboardEnabled) {                config.keyboard = Configuration.KEYBOARD_NOKEYS;            }
0 0
原创粉丝点击