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

Flutter调用WhatsApp报MissingPluginException错误求助

解决Flutter调用WhatsApp时的MissingPluginException错误

一、修复插件配置问题

这个错误的核心是url_launcher插件的原生实现未被正确加载,按以下步骤排查配置:

  • 确认pubspec.yaml中已添加最新版url_launcher依赖:
    dependencies:
      flutter:
        sdk: flutter
      url_launcher: ^6.2.5 # 可前往pub.dev获取最新版本号
    
    执行flutter pub get拉取依赖。
  • Android端配置:在android/app/src/main/AndroidManifest.xml的<manifest>标签内添加查询权限(Android 11及以上必需):
    <queries>
      <package android:name="com.whatsapp" />
      <package android:name="com.whatsapp.w4b" /> <!-- 适配WhatsApp Business -->
    </queries>
    
  • iOS端配置:在ios/Runner/Info.plist中添加允许查询的Scheme:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>whatsapp</string>
    </array>
    

二、修正代码中的语法与逻辑错误

你的代码存在两处问题:iOS的URL拼接多了一个冗余右括号,且文本未做URL编码(特殊字符会导致跳转失败)。修正后的完整代码:

void openWhatsapp({
  required BuildContext context,
  required String text,
  required String number,
}) async {
  final encodedText = Uri.encodeComponent(text);
  final whatsappUrlAndroid = "whatsapp://send?phone=$number&text=$encodedText";
  final whatsappUrlIos = "https://wa.me/$number?text=$encodedText";

  if (Platform.isIOS) {
    if (await canLaunchUrl(Uri.parse(whatsappUrlIos))) {
      await launchUrl(Uri.parse(whatsappUrlIos));
    } else {
      ScaffoldMessenger.of(context).showSnackBar(
        const SnackBar(content: Text("未安装WhatsApp")),
      );
    }
  } else {
    if (await canLaunchUrl(Uri.parse(whatsappUrlAndroid))) {
      await launchUrl(Uri.parse(whatsappUrlAndroid));
    } else {
      ScaffoldMessenger.of(context).showSnackBar(
        const SnackBar(content: Text("未安装WhatsApp")),
      );
    }
  }
}

三、强制重新构建项目

热重载/热重启不会加载新的插件原生代码,必须执行以下操作:

  1. 停止当前运行的应用;
  2. 执行flutter clean清理缓存;
  3. 执行flutter pub get重新拉取依赖;
  4. 重新运行flutter run。

内容的提问来源于stack exchange,提问作者Chaibou Maikibi Abdoul-Moumoun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:50:33