是否可以同时激活物理键盘和软键盘?

时间:2011-09-16 19:07:38

标签: android android-input-method

我的应用程序需要同时激活两个输入源:条形码扫描仪和软键盘。当我配对蓝牙扫描仪时,它被视为物理键盘。因此,连接此设备时,软键盘未显示(软键盘已停用)。

是否可以同时激活物理键盘和软键盘? 如果没有,解决问题的最佳方法是什么?我是否必须实现一个自定义视图来下载按键事件?市场上是否有任何键盘应用程序可以执行此操作?

如何以编程方式打开和关闭物理键盘?这是切换按钮“使用物理键盘”设置(我在此处找到了此设置的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

无法同时激活物理键盘和软键盘。它由InputMethodService函数onEvaluateInputViewShown强制执行。您可以查看文档here

/**
 * Override this to control when the soft input area should be shown to
 * the user.  The default implementation only shows the input view when
 * there is no hard keyboard or the keyboard is hidden.  If you change what
 * this returns, you will need to call {@link #updateInputViewShown()}
 * yourself whenever the returned value may have changed to have it
 * re-evaluated and applied.
 */
public boolean onEvaluateInputViewShown() {

因此,除非您实现自己的IME,其中您可以覆盖onEvaluateInputViewShown,否则无法同时激活Physical和softkeyboard。

关于你的上一个问题,我不确定,但我认为没有办法以编程方式隐藏hardKeyboard。虽然它没有解决方案,但您应该检查this question