【问题标题】:How to use PC keyboard during Remote Screen Sharing using Android app?如何使用 Android 应用程序在远程屏幕共享期间使用 PC 键盘?
【发布时间】:2023-01-24 18:50:46
【问题描述】:

我们在 Android TV 设备的 Android 应用程序中有一个远程屏幕共享选项。我们使用 OEM API 通过传递 android.view.KeyEvent 类中定义的常量来触发一些按键和按钮事件。这适用于键盘中的数字键和光标键,但字母表的 KeyEvent 常量仅限于大写字母,例如“A”键的 KEYCODE_A.小写字母没有常量。

尝试使用输入文本命令。它在 shell 中工作,但在应用程序中不起作用 -

String keyCommand = "input text " + character;
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec(keyCommand);
            int waitFor = proc.waitFor();

返回的退出值为 1。

还有其他方法可以处理从键盘接收到的大写和小写字母事件吗?

编辑:我们没有直接使用 KeyEvent 类方法或常量,因为输入不是来自物理键盘,而是来自查看远程屏幕的 PC 的键盘。只有 KeyEvent 常量值会传递给 OEM API 以触发键/按钮。

【问题讨论】:

    标签: java android linux adb keyevent


    【解决方案1】:

    documentation 所述,您可以检查META_SHIFT_ON 的状态或使用isShiftPressed() 方法检查是否按下了 Shift。有关METAH_SHIFT_ON documentation的更多信息

    【讨论】:

    • 我们没有直接使用 KeyEvent 类方法或常量,因为输入不是来自物理键盘,而是来自查看远程屏幕的 PC 的键盘。只有 KeyEvent 常量值会传递给 OEM API 以触发键/按钮。因此,不可能像您提到的那样检查是否按下了 Shift。
    猜你喜欢
    • 2014-06-25
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    相关资源
    最近更新 更多