微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决连接硬件键盘时显示软键盘

我想在将条码扫描器连接到 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 举报,一经查实,本站将立刻删除。