首页 > 解决方案 > 如何收听 Flutter 应用内网页浏览器?

问题描述

我正在使用 Flutter 中的 flutter_web_browser 包在应用程序中打开 Web 浏览器。我想在浏览器窗口关闭时导航到另一个页面。该函数openWebPage是Future类型的,所以我尝试过使用then()和whenComplete(),但是当我手动关闭浏览器或使用深层链接关闭浏览器时,这两个函数都没有输入。

final url = "https://google.com";

    return Container(
      color: Colors.white,
      child: FlatButton(
        child: Text("Click ME"),
        onPressed: () async {
           await FlutterWebBrowser.openWebPage(
            url: "$url",
            androidToolbarColor: Colors.deepPurple,
          ).whenComplete(() {
            print('OVER');
          });
        },
      ),
    );

当浏览器关闭并相应地导航到另一个屏幕时,如何让应用程序收听?

标签: flutterflutter-packages

解决方案


由于您要退出应用程序(在应用程序生命周期上暂停),因此您无法收听后台或其他应用程序上发生的事情。作为一种解决方法,您可以收听应用程序生命周期并进行导航。Flutter App 生命周期Flutter App 生命周期实现

或者,您可以使用包含您需要的功能的应用内网络浏览器。 Flutter 应用内网页浏览器

希望这可以帮助!


推荐阅读