首页 > 解决方案 > 从 url_launcher webview 导航回应用程序 - Flutter - Android

问题描述

我目前正在使用 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 用户使用。

该网址必须在应用程序中打开,所以我不希望它在单独的浏览器中打开。

我希望我提供了足够的信息,非常感谢任何帮助。

标签: androidiosflutterwebviewurl-launcher

解决方案


推荐阅读