You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程实现WhatsApp消息自动发送(无需手动点击发送)

实现WhatsApp消息自动发送(无需手动点击发送)

嘿,我明白你现在的需求——想让代码自动完成WhatsApp消息发送,不用手动点发送按钮对吧?你提到的通过设置开启“按Enter键发送”是一个可行的方案,不过咱们也可以结合代码来更顺畅地实现这个需求,我来一步步给你拆解:

方法一:通过WhatsApp设置开启自动发送触发

你提到的这个方法很直接,步骤再明确下:

  • 打开WhatsApp,点击右上角的菜单按钮(三个点)
  • 进入设置 > 聊天
  • 找到并勾选按Enter键发送选项

开启这个设置后,只要在代码里模拟按下Enter键,就能自动触发消息发送了。

方法二:优化代码实现自动发送

你当前的代码只是唤起了WhatsApp的发送界面,咱们可以调整一下,结合模拟按键操作来完成自动发送:

先贴出你提供的基础代码(补全了常见的Intent设置):

protected void sendwts(){ 
    String smsNumber = "2126123456789"; // E164格式,不含'+'号 
    Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.setType("text/plain");
    sendIntent.putExtra(Intent.EXTRA_TEXT, "你要发送的消息内容");
    sendIntent.setPackage("com.whatsapp"); // 指定打开WhatsApp,避免弹出选择器
    startActivity(sendIntent);
}

接下来,咱们在启动WhatsApp界面后,延迟一段时间确保界面加载完成,然后模拟按下Enter键来触发发送:

protected void sendwts(){ 
    String smsNumber = "2126123456789"; 
    Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.setType("text/plain");
    sendIntent.putExtra(Intent.EXTRA_TEXT, "测试自动发送的消息");
    sendIntent.setPackage("com.whatsapp"); 
    startActivity(sendIntent);

    // 延迟1秒确保界面加载完成,时间可以根据设备性能调整
    new Handler(Looper.getMainLooper()).postDelayed(() -> {
        Instrumentation instrumentation = new Instrumentation();
        instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_ENTER);
    }, 1000);
}

注意事项

  • 记得在AndroidManifest.xml中添加所需权限:<uses-permission android:name="android.permission.INJECT_EVENTS" />,不过这个权限在Android 10及以上系统中,可能需要系统签名或者特殊授权才能正常使用
  • 如果是高版本Android系统,后台模拟按键会有较多限制,这时候你提到的设置“按Enter键发送”就显得尤为重要,两者结合才能稳定生效
  • 如果是商业场景需要完全无界面的自动发送,可以考虑使用WhatsApp Business API,但这个需要官方认证,门槛相对较高

内容的提问来源于stack exchange,提问作者Nizar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:47:08