假设我们有字符串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?

10-04 12:22