我目前正在使用 url_launcher 飞镖包来处理我的应用程序中的 url。我的应用程序中有一个购物篮和结帐流程。在此的最后阶段,我需要为用户启动一个 url,以确认他们的 3ds 银行安全性。完成此操作后,他们可以导航回应用程序并查看订单确认屏幕。
目前使用以下代码将成功启动 url 并且用户能够通过 3ds 检查。
Future<void> _launchInWebViewWithJavaScript(String url) async {
if (await canLaunch(url)) {
await launch(
url,
forceSafariVC: true,
forceWebView: true,
enableJavaScript: true,
);
} else {
throw 'Could not launch $url';
}
}
但是,当在 ios 上使用上述方法时,我可以在 webview 的左上角看到一个“完成”按钮,按下该按钮会将我带回应用程序。
然而,这个按钮不会出现在 android 上,它只是一个填充整个屏幕的 webview,因此一旦 3ds 进程结束,用户就无法导航回应用程序。
Android 视图,您可以看到没有完成按钮,并且底部的按钮不起作用:
这可以通过 url_launcher 实现吗?或者我应该使用 webview_flutter 在 android 上启动 url,这样我就可以在其上方显示一个应用栏,并添加自己返回应用程序的功能,供 android 用户使用。
该网址必须在应用程序中打开,所以我不希望它在单独的浏览器中打开。
我希望我提供了足够的信息,非常感谢任何帮助。