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