【发布时间】: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