连接硬件键盘时显示软键盘

问题描述

我想在将条码扫描器连接到 Android 设备时显示键盘。 我知道当我连接条码扫描器时,它会将其识别为 Android 设备上的键盘。 但是,我想在当前正在开发的应用程序中不仅输入扫描,还输入键盘。因此,我想在将条码扫描器连接到 Android 时使 softinputkeyboard 可见。

所以,我像这段代码一样测试,

private fun showKeyboard(view: View) {
    val imm = requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY)
}

override fun onClick(v: View?) {
    if (v?.id == R.id.test) {
        showKeyboard(binding.test)
    }
}

但是,当条码扫描器连接相同时,键盘是不可见的。 :(

而且,我尝试了这个,但它仍然不可见。

class SoftKeyboard : InputMethodService() {

 override fun onEvaluateInputViewShown(): Boolean {
      super.onEvaluateInputViewShown()
      return true
 }

AndroidManifest.xml

<service android:name=".utils.softKeyboard"
    android:permission="android.permission.BIND_INPUT_METHOD">
    <intent-filter>
        <action android:name="android.view.InputMethod" />
    </intent-filter>
</service>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)