gpt4 book ai didi

java - 将字符串从 java(或其他平台)发送到应用程序

转载 作者:行者123 更新时间:2023-11-30 05:13:39 25 4
gpt4 key购买 nike

我想将用手机读取的条形码发送到我的计算机。我的计算机运行着一个简单的服务器,用于监听条形码。当条形码到达时,服务器应用程序应该能够将收到的条形码的值输入到 Activity 应用程序中(我并不关心哪个应用程序将获取输入,用户应该能够选择 gedit,一个终端窗口或浏览器(如果他们选择的话)。

我现在的语言是 GNU/Linux (Ubuntu) 上的 Java,所以我了解 Robot 类。但是 Robot 类模拟键盘,这意味着:当您在美国键盘布局上发送 VK_1 时,输出确实是“1”,但是当您在另一种布局上发送 VK_1(例如我使用的比利时键盘)时,这需要移位'1'键,输出是'&'(当你不按住shift时,这是'1'键上的字符)。

我还找到了xsendkeys,但是这个应用程序也要求您指定是否需要按住shift。因此,它将能够发送一个“a”,但对于“A”(即大写),您需要指定您想要用“a”来保持移位。

对于 GNU/Linux 和 Windows,是否有一种简单的方法可以做到这一点,只需使用字符串。我希望能够将“12a68dd”发送到 Activity 应用程序。我还希望能够将 UTF-8 字符发送到 Activity 应用程序。

我一直在寻找解决方案,但大多数需要分解多次击键,这通常取决于键盘布局。

最佳答案

似乎您希望能够将任意键盘序列发送到任何可能的应用程序。我无法帮助你(你应该寻找“Java UI 测试自动化”来找到任何合适的工具),但如果你发送字符串的应用程序在其标准输入上监听它,我会选择:

// Example: send your string to "cat" (or "type" on Windows), which simply prints it.
Process spawned = ProcessBuilder.command("cat" /*No arguments*/).start();
spawned.getOutputStream().write(yourString.getBytes("UTF-8"));

换句话说,简单的 stdin/stdout 重定向。

关于java - 将字符串从 java(或其他平台)发送到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com