flutter - 如何收听 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');
});
},
),
);
当浏览器关闭并相应地导航到另一个屏幕时,如何让应用程序收听?
解决方案
由于您要退出应用程序(在应用程序生命周期上暂停),因此您无法收听后台或其他应用程序上发生的事情。作为一种解决方法,您可以收听应用程序生命周期并进行导航。Flutter App 生命周期,Flutter App 生命周期实现。
或者,您可以使用包含您需要的功能的应用内网络浏览器。 Flutter 应用内网页浏览器
希望这可以帮助!
推荐阅读
- xamarin.forms - 当 View.OnAppearing 被触发时 SafeAreaInsets 为 0
- orm - 从 orm.xml Doctrine 生成 php 实体
- c - 如何将范围(0,4)中的空格添加到C中的字符串
- rust - Rust:无法将 Trait RangeBounds 制成对象
- ag-grid - Ag-grid 不支持日期时间过滤器
- javascript - 为什么我使用 Phaser 3 构建的游戏(并在 VPS 服务器上运行)在大多数设备上加载缓慢?
- java - 通过 Arrays.copyOf() 生成的二维数组副本中的更改反映在原始数组中
- java - Gradle.Properties 更改未随 Micronaut 项目加载
- compilation - 如何将我的 NVRTC 程序源与文件相关联?
- json - 使用 Ruby API 呈现 json 错误:我应该使用“错误”还是“消息”键?