使用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
相关产品推荐
相关产品推荐

