试图强制用户按Enter

时间:2018-09-24 20:49:34

标签: android

我正在尝试创建一个自动的whatsapp消息发件人,我创建了将我带到whatsapp窗口的代码:

String smsNumber = "number"; // E164 format without '+' sign
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net"); //phone number without "+" prefix
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);

,我需要创建自动输入。有人可以向我展示可以帮助我按Enter键的示例吗?

1 个答案:

答案 0 :(得分:0)

通过Activity启动另一个Intent时,您基本上会杀死正在运行的应用程序。然后,您将如何发送“自动输入”?我建议您将应用程序开发为forground service,然后将用户发送到WhatsApp时,可以劫持键盘并发送键盘命令(输入)。

如果设备已植根,则可以使用此命令发送键盘命令。

public static void inputKeyEvent(String keyCodeString) {
try {
    int keyCode = Integer.parseInt(keyCodeString);
    try {
        Instrumentation m_Instrumentation = new Instrumentation();
        m_Instrumentation.sendKeyDownUpSync(keyCode);
    } catch (SecurityException e) {
        try {
            Process processKeyEvent = Runtime.getRuntime().exec("/system/xbin/su");
            DataOutputStream os = new DataOutputStream(processKeyEvent.getOutputStream());
            os.writeBytes("input keyevent " + keyCode + "\n");
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        e.printStackTrace();
    }
} catch (Exception e) {
    e.printStackTrace();
}

}