如何在代码中禁用物理键盘(始终使用虚拟键盘)

Han*_*Han 21 android android-virtual-keyboard

你可能会问为什么我想要那个.原因如下:

我使用条形码扫描仪作为我的应用程序的登录屏幕.但是,连接条形码扫描仪会强制我的平板电脑使用物理键盘(它认为扫描仪是键盘),这会阻止虚拟键盘出现(我想要其他一些屏幕).我必须手动单击系统栏以禁用弹出虚拟键盘的物理键盘.

那么,有没有办法在代码中禁用物理键盘或者即使连接了某些"键盘"也能使虚拟键盘出现?

Enr*_*ico 8

请尝试以下方法

Settings> Language & Input>在Keyboard and input methods点击Default.是否可以选择取消选中或禁用硬件/物理键盘?

这是违反直觉的,但在这之后,我可以在我的设备上使用物理键盘和虚拟键盘(Android 4.2)

  • 连接“物理键盘”时,它不起作用。 (2认同)

Ron*_*nie 3

这似乎与您的案例有一定的相关性。来自配置类文档。

public int hardKeyboardHidden --- 添加到 API 级别 3

指示硬键盘是否已隐藏的标志。这将在具有机制的设备上设置,当该机制关闭时,该机制可以向用户隐藏键盘。以下之一:HARDKEYBOARDHIDDEN_NO、HARDKEYBOARDHIDDEN_YES。

您可以对此配置更改采取一些操作。但我认为在android中没有办法禁用物理键盘。

更新

其中mHardKeyboardSwitch一个私有成员,它保存对SwitchView用于反映用户的硬件键盘首选项的引用。它不能用于禁用硬件键盘,因为无法在该类之外访问它。