Flutter WebView 不打开外部链接

Flutter WebView Does Not open external links

提问人:Vincenzo Mainente 提问时间:11/18/2023 最后编辑:Vincenzo Mainente 更新时间:11/22/2023 访问量:25

问:

所以我一直在为我的 php 代码开发一个 webview 项目,问题是,我在应用程序内有一些重定向,比如电子邮件、电话等。

问题是尝试使用url_launcher看不到工作,但即使有了这个和正确的代码,我也会收到错误。net::ERR_UNKNOWN_URL_SCHEME

我看过这个主题 Flutter Webview - 在浏览器或窗口中打开外部链接,但大部分已被弃用,并且新文档与 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') {`your text`
final tel = uri.path.substring(1);
final telUrl = 'tel:$tel';
await launchUrl(Uri.parse(telUrl));
return NavigationDecision.prevent;
}

return false;`
}

}

class \_MyHomePageState extends State\<MyHomePage\> {
late final WebViewController controller;`

@override`
void initState() {
controller = WebViewController();
controller.setJavaScriptMode(JavaScriptMode.unrestricted);
controller.setNavigationDelegate(MyNavigationDelegate());
controller.loadRequest(Uri.parse(" my url "));
addFileSelectionListener();
super.initState();
}\
Flutter Dart WebView URL-Launcher

评论


答:

0赞 Ashok Kmr 11/18/2023 #1

你错误地格式化了代码块,以正确的格式重新发布代码