Android(安卓)开发中屏蔽物理键盘
16lz
2021-01-26
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; }
更多相关文章
- Android(安卓)EditText 点击时不弹出键盘但显示光标
- Android(安卓)操作蓝牙Ble时数据转换的常用方法
- Android蓝牙理论
- android 点击EditText 弹出日期选择器DatePickerDialog
- Android(安卓)相关知识
- 这些年我踩过的坑——Android
- Android(安卓)与蓝牙串口通讯
- Android中Activity的android:windowSoftInputMode属性
- android AndroidManifest.xml中android:configChanges的简介