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

Android Studio实现直接向指定WhatsApp号码发送视频的方法

直接通过WhatsApp向指定号码发送相册视频的解决方案

实现原理

WhatsApp支持通过特定的Intent Uri直接指定目标号码,跳过手动选择联系人的步骤。核心是构造包含目标号码的ACTION_SENDTO Intent,同时传入视频文件Uri。

修改后的代码实现

替换你现有onActivityResult方法中的分享逻辑,代码如下:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK && requestCode == REQUEST_TAKE_GALLERY_VIDEO) {
        Uri videoUri = data.getData();
        // 替换为带国家代码的目标号码,比如中国号码格式为+86XXXXXX
        String targetPhoneNumber = "+868721XXXXXX";

        // 构建WhatsApp发送地址Uri
        Uri whatsappSendUri = Uri.parse("https://api.whatsapp.com/send?phone=" + targetPhoneNumber);
        
        Intent shareIntent = new Intent(Intent.ACTION_SENDTO, whatsappSendUri);
        // 若使用普通WhatsApp,将包名改为"com.whatsapp"
        shareIntent.setPackage("com.whatsapp.w4b");
        shareIntent.putExtra(Intent.EXTRA_STREAM, videoUri);
        shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello");
        shareIntent.setType("video/*");

        // 检查设备是否安装了对应版本的WhatsApp
        if (shareIntent.resolveActivity(getPackageManager()) != null) {
            startActivity(shareIntent);
        } else {
            Toast.makeText(this, "未安装目标WhatsApp应用", Toast.LENGTH_SHORT).show();
        }
    }
}

关键注意事项

  • 号码格式要求:必须添加完整的国家代码前缀(如中国+86、美国+1),仅本地号码无法被WhatsApp识别。
  • 包名区分:如果使用普通版WhatsApp,将com.whatsapp.w4b替换为com.whatsapp。
  • 权限与兼容性:Android 10及以下需申请READ_EXTERNAL_STORAGE权限;Android 11+无需额外权限,但需确保视频Uri可被WhatsApp访问。
  • 文件大小限制:WhatsApp对发送视频有大小限制(通常为16MB左右),超出限制的视频无法直接发送。

内容的提问来源于stack exchange,提问作者Bhaskar Jyoti Dutta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:41:30