我使用的是Flutter的url_launcher包。但是,该链接正在应用程序本身中打开。我希望它在我的浏览器中打开

问题描述 投票:0回答:1

我使用的是 Flutter 的 url_launcher 包。但是,该链接正在应用程序本身中打开。我希望它在我的浏览器中打开。这是我的代码:

Future<void> launchUrlInBrowser(String url) async {
  Uri urlparsed=Uri.parse(url);
  if (!await launchUrl(urlparsed)) {
    throw Exception('Could not launch $url');
  }
}
flutter dart
1个回答
1
投票

我找到的解决方案是向 launcUrl( ) 方法添加一个附加参数。参数为

mode: LaunchMode.externalApplication
。此参数将在外部应用程序中启动 URL。

这是我的代码修复:

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

编辑:Flutter 现在允许您选择在同一选项卡或不同选项卡中打开 URL。您所要做的就是在模式参数后面添加一个可选字符串。

字符串可以是以下之一:

  • “_blank”在新选项卡中打开新 URL。
  • “_self”打开新的 URL 当前选项卡。取消设置时的默认行为是在 a 中打开 url 新标签。

例如,

launchUrl(urlparsed,mode: LaunchMode.externalApplication),"_self")

© www.soinside.com 2019 - 2024. All rights reserved.