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

Android应用扫描WhatsApp QR码无需手机号打开聊天的实现咨询

解决方案

你扫码得到的https://wa.me/qr/前缀的短链不需要提取手机号,直接通过ACTION_VIEW类型的Intent交给WhatsApp解析即可直接打开对应聊天窗口,代码实现如下:

完整扫码回调处理代码

mCodeScanner.setDecodeCallback(new DecodeCallback() {
    @Override
    public void onDecoded(@NonNull Result result) {
        String qrContent = result.getText().trim();
        // 校验扫码结果为WhatsApp QR短链
        if (qrContent.startsWith("https://wa.me/qr/")) {
            Intent openWaChat = new Intent(Intent.ACTION_VIEW);
            openWaChat.setData(Uri.parse(qrContent));
            // 固定跳转WhatsApp,避免触发系统浏览器打开
            openWaChat.setPackage("com.whatsapp");
            try {
                startActivity(openWaChat);
            } catch (ActivityNotFoundException e) {
                // 自定义处理未安装WhatsApp的异常场景
                Toast.makeText(getApplicationContext(), "请先安装WhatsApp", Toast.LENGTH_SHORT).show();
            }
        }
    }
});

扩展说明

  • 无需提取手机号:短链的解析匹配逻辑完全由WhatsApp内部处理,不需要你自己从链接中解析用户手机号
  • 支持携带预制消息:如果需要打开聊天时自动填充待发送的文本,可以额外添加参数:
    openWaChat.putExtra(Intent.EXTRA_TEXT, "预设的发送内容");
    
  • 兼容WhatsApp商业版:如果需要支持商务版WhatsApp,把setPackage参数替换为com.whatsapp.w4b即可,也可做分支判断同时适配普通版和商业版。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:42:02