如何在 android 中将字符串作为键盘输出发送?

How to send string as keyboard output in android?

假设我们有字符串 String s= "Message from programmatic KeyboardPress"。如何将此字符串作为键盘输出发送。例如,由于模拟了键盘输出,用户当前专注于文本字段并且出现了我的字符串。

现在,我不想以编程方式设置 EditText 对象的文本。我想模拟一个真实的键盘输入。我在基本 java (How to send keyboard outputs).

中找到了如何做

如何在 android java 中实现这一点?

对于未来的读者:

Gabe Sechan(谢谢!)指出由于安全限制,这在 android 中是不可能的。所以我想到的是将字符串复制到剪贴板。它不如直接模拟键盘输出那么快,但至少它有效。

在我的例子中,我需要 运行 主线程之外的代码,所以我使用了这个:

 runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            ClipboardManager clipboard = (ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
                            ClipData clip = ClipData.newPlainText("message", s);
                            clipboard.setPrimaryClip(clip);
                        }
                    });

有关如何将内容复制到剪贴板的更多信息,请查看:How to Copy Text to Clip Board in Android?