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