如何从URL重定向回Flutter App?

问题描述

我在我的Flutter应用程序中集成了paytabs付款网关。它将在应用程序浏览器中打开付款页面。事务完成后,它将重定向到return_url。我想重定向回我的应用程序,以便在处理付款后可以执行某些操作。

这怎么完成?

解决方法

我找到了一个解决方案,它对我有用!

InAppWebView

扑朔迷离以打开Paytabs交易页面。交易成功后,它将我重定向到return_url。 InAppWebView有一个方法

onLoadStart: (InAppWebViewController controller,String url)

在这种方法中,我检查了returl_url == url是否重定向到我的应用并相应地关闭了InAppWebView。

onLoadStart: (InAppWebViewController controller,String url) {
          setState(() {
            _con.url = url;
          });
          if (url == "return_url") {
            //close the webview
            _con.webView.goBack();

            //navigate to the desired screen with arguments
            Navigator.of(context).pushReplacementNamed('/OrderSuccess',arguments:
                    new RouteArgument(param: 'Credit Card (Paytabs)'));
          }
        },