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

使用Flutter url_launcher包时链接在APP内打开,需改为浏览器打开

解决Flutter url_launcher在系统浏览器打开链接的问题

问题核心是你未指定链接的启动模式,默认情况下url_launcher会使用应用内WebView打开链接。要强制在系统浏览器中打开,只需给launchUrl方法传入mode参数,指定为LaunchMode.externalApplication即可。

修改后的代码如下:

Future<void> launchUrlInBrowser(String url) async {
  Uri urlParsed = Uri.parse(url);
  if (!await launchUrl(
    urlParsed,
    mode: LaunchMode.externalApplication,
  )) {
    throw Exception('Could not launch $url');
  }
}

关键说明

  • LaunchMode.externalApplication:调用系统默认浏览器打开链接,完全脱离当前Flutter应用
  • 若需优先用对应链接的专属外部APP打开(而非浏览器),可替换为LaunchMode.externalNonBrowserApplication,但你的需求用前者更匹配

另外请确保pubspec.yaml中url_launcher依赖为最新版本,避免旧版本参数兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:44:49