InAppWebView 拦截网络请求 打开微信支付或者支付宝支付

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InAppWebView 拦截网络请求 打开微信支付或者支付宝支付相关的知识,希望对你有一定的参考价值。

  flutter_inappwebview: ^5.3.2
  url_launcher: ^6.0.9
InAppWebView 内重写下面方法
 onLoadStart: (controller, url) async {
                    if (url != null) {
                      print("onLoadStart url:${url.scheme}");
                      print("onLoadStart url:${url.host}");
                      print("onLoadStart url:${url.path}");
                    }
                    setState(() {
                      this._url = url.toString();
                      print("onLoadStart url:${_url}");
                    });
                    _canBack = await controller.canGoBack();
                    if (url != null) {
                      if (![
                        "http",
                        "https",
                        "file",
                        "chrome",
                        "data",
                        "javascript",
                        "about"
                      ].contains(url.scheme)) {
                        if (await canLaunch(url.toString())) {
                          // Launch the App

                          _launchURL(url.toString());
                        } else {
                          if (url.scheme == "weixin") {
                            ToastUtils.showToast("手机尚未安装微信");
                          } else if (url.scheme == "alipays") {
                            ToastUtils.showToast("手机尚未安装支付宝");
                          } else {
                            ToastUtils.showToast(
                                "启动支付失败。原因尚未支持 ${url.scheme},请联系客服");
                          }
                        }
                        if (_canBack) {
                          _controller.goBack();
                        }
                      }
                    }

  void _launchURL(url) async => await canLaunch(url)
      ? await launch(url)
      : ToastUtils.showToast("对不起,打不开链接地址:${url}");

以上是关于InAppWebView 拦截网络请求 打开微信支付或者支付宝支付的主要内容,如果未能解决你的问题,请参考以下文章

使用CEfSharp之旅拦截网络请求 截取get post response返回

微信小程序-请求接口拦截

在 SingleChildScrollView 内颤动 InAppWebView

微信公众号支付踩坑记

如何保存第一次登录的 sessionId 并且不会让我每次都在 inappwebview 中登录

微信在浏览器打开拦截了 微信屏蔽网址打开如何解决