Flutter WebView无法打开外部链接

dsf9zpds  于 2023-11-21  发布在  Flutter
关注(0)|答案(1)|浏览(186)

所以我一直在为我的php代码做一个webview项目,问题是,我在应用程序中有一些重定向,比如电子邮件,电话和其他。
问题是它没有看到工作一直试图使用url_launcher,但即使有这个和一个代码,似乎是正确的,我仍然得到错误net::ERR_UNKNOWN_URL_SCHEME
我已经看到这个主题Flutter Webview - Opening External Links in Browser or Window,但大多数是不推荐的,新的文档不适合webview
无论如何,这是我的代码的一部分,应该使它的工作
class MyNavigationDelegate extends NavigationDelegate {Future<Object> shouldOverrideUrlLoading(WebViewController controller, NavigationRequest navigation) async {var uri = Uri.parse(navigation.url);if (uri.scheme == 'mailto') {final email = uri.path.substring(1);final mailtoUrl = 'mailto:$email';await launchUrl(Uri.parse(mailtoUrl));return NavigationDecision.prevent;} else if (uri.scheme == 'tel') {您的文本``final tel = uri.path.substring(1);final telUrl = 'tel:$tel';await launchUrl(Uri.parse(telUrl));return NavigationDecision.prevent;}``// Add additional handling for other schemes or allow loadingreturn false;}``}``class _MyHomePageState extends State<MyHomePage> {late final WebViewController controller;``@overridevoid initState() {controller = WebViewController();controller.setJavaScriptMode(JavaScriptMode.unrestricted);controller.setNavigationDelegate(MyNavigationDelegate());controller.loadRequest(Uri.parse(" my url "));addFileSelectionListener();super.initState();}\

raogr8fs

raogr8fs1#

你错误地格式化代码块,重新张贴的代码与正确的格式

相关问题