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

Flutter iOS端调用mailto协议弹出空白弹窗问题求助

Flutter iOS端调起邮件应用空白弹窗解决方案
  • 替换过时的url_launcher API
    url_launcher 6.0.0及以上版本已废弃canLaunch、launch方法,旧API在iOS 14+系统上存在兼容性问题,建议改用新版API,同时强制指定iOS端用外部应用打开,避免调用应用内空白视图:
    import 'package:url_launcher/url_launcher.dart';
    
    _sendingMails() async {
      final Uri mailUri = Uri.parse('mailto:xyz@mail.com');
      if (await canLaunchUrl(mailUri)) {
        await launchUrl(
          mailUri,
          // 强制跳转外部应用处理,禁用应用内打开模式
          mode: LaunchMode.externalApplication,
        );
      } else {
        throw '无法打开邮件地址:$mailUri';
      }
    }
    
  • 校验测试环境
    不要使用iOS模拟器测试该功能,iOS模拟器默认未安装任何可处理mailto协议的邮件应用,无对应程序响应请求会触发空白弹窗,请使用iOS真机测试,且真机内至少安装1个邮箱客户端(系统邮件、第三方邮箱均可)。
  • 确认Info.plist配置
    你当前添加的LSApplicationQueriesSchemes配置是正确的,确认该配置放置在ios/Runner/Info.plist的根dict节点下即可,无需额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:18:00