我有这个代码:
import 'package:url_launcher/url_launcher.dart';
...
await launch("https://example.org/bigprizes");
它会在 iOS 上的应用程序内启动 Web 视图。相反,我希望它在 Safari 或用户选择的其他外部浏览器中启动。 Flutter 有没有办法做到这一点?
查看https://www.digitalocean.com/community/tutorials/flutter-url-launcher
中的步骤4await launch("https://example.org/bigprizes", forceSafariVC: false);
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';
}
}
自从新版本的
url_launcher
包发布以来,这是在外部浏览器中启动 url 的新官方方法:
await launchUrl('www.1st.money/home', mode: LaunchMode.externalApplication) // Replace with your own url.
希望这有帮助!如果您有任何疑问,请告诉我 - 艾米:)
检查这个包https://pub.dev/packages/flutter_linkify它可能对你的项目有用