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

Flutter集成WhatsApp链接报错ERR_UNKNOWN_RL_SCHEME求助

解决Flutter跳转WhatsApp出现ERR_UNKNOWN_URL_SCHEME错误

问题根源

  1. 文本编码错误:你用Uri.parse(message)处理消息文本,这是解析URL的方法,正确操作应该是用Uri.encodeComponent()对消息内容做URL编码。
  2. launchUrl模式未指定:默认情况下launchUrl可能尝试在应用内WebView打开链接,需要明确指定调用外部应用。
  3. 平台URL格式冗余:wa.me的标准格式无需区分Android和iOS,统一格式即可兼容双平台。

修正后的代码

static Future<void> launchThisUrl(String url) async {
  Uri dataUrl = Uri.parse(url);
  // 指定启动模式为调用外部应用
  if (await canLaunchUrl(dataUrl)) {
    await launchUrl(
      dataUrl,
      mode: LaunchMode.externalApplication,
    );
  } else {
    throw '无法打开链接: $dataUrl';
  }
}

static Future<void> launchWhatsApp({
  required String phone,
  required String message,
}) async {
  // 统一使用wa.me标准格式,对消息内容进行URL编码
  String encodedMessage = Uri.encodeComponent(message);
  String url = "https://wa.me/$phone?text=$encodedMessage";
  log('跳转链接: $url');
  await launchThisUrl(url);
}

关键注意事项

  • 手机号格式:必须是国际区号格式(例如+8613800138000),不能包含空格、括号或其他特殊字符。
  • 依赖配置:确保已在pubspec.yaml中添加url_launcher依赖,并且完成平台权限配置(Android的AndroidManifest.xml、iOS的Info.plist)。
  • 测试环境:必须在真机上测试才能正常唤起WhatsApp,模拟器无法检测到已安装的应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:12:09