首页 > 解决方案 > 试图强制用户按回车

问题描述

我正在尝试创建一个自动 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);

我需要创建自动输入。有人可以告诉我一些可以帮助我按下回车按钮的例子吗?

标签: android

解决方案


当您Activity通过 an启动另一个时,Intent您基本上会杀死正在运行的应用程序。然后你将如何发送你的“自动输入”?我建议您将您的应用程序开发为前台服务,然后当您将用户发送到 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();
}

}


推荐阅读