有没有办法在 iOS 上的 Flutter 应用程序中的 URL 上启动 Safari 或其他外部浏览器?

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

我有这个代码:

import 'package:url_launcher/url_launcher.dart';
...

      await launch("https://example.org/bigprizes");

它会在 iOS 上的应用程序内启动 Web 视图。相反,我希望它在 Safari 或用户选择的其他外部浏览器中启动。 Flutter 有没有办法做到这一点?

flutter
4个回答
2
投票

查看https://www.digitalocean.com/community/tutorials/flutter-url-launcher

中的步骤4
await launch("https://example.org/bigprizes", forceSafariVC: false);

2
投票

url_launcher
插件(https://pub.dev/packages/url_launcher)具有方法
launchUrl()
launchUrlString()
,它们都有一个属性
mode
,您可以在其中指定应用程序如何打开URL。有关启动模式文档的更多详细信息

基本上你可以这样称呼它:

static Future<void> launchURL(String url) async {
  if (await canLaunchUrlString(url)) {
    // Passes the URL to the OS to be handled by another application.
    await launchUrlString(url, mode: LaunchMode.externalApplication);
  } else {
    throw 'Could not launch $url';
  }
}

0
投票

自从新版本的

url_launcher
包发布以来,这是在外部浏览器中启动 url 的新官方方法:

await launchUrl('www.1st.money/home', mode: LaunchMode.externalApplication) // Replace with your own url.

希望这有帮助!如果您有任何疑问,请告诉我 - 艾米:)


-1
投票

检查这个包https://pub.dev/packages/flutter_linkify它可能对你的项目有用

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