【发布时间】:2020-09-25 22:54:04
【问题描述】:
使用 Flutter Android 和 iOS 模块,您可以使用 AppLifeCycleState 来检测应用何时进入后台。
对于 Flutter Web 是否有类似的东西,我可以检测到浏览器/选项卡的关闭或刷新?
如果用户关闭浏览器或刷新,我基本上想运行 Firestore 命令。
【问题讨论】:
标签: flutter dart flutter-web
使用 Flutter Android 和 iOS 模块,您可以使用 AppLifeCycleState 来检测应用何时进入后台。
对于 Flutter Web 是否有类似的东西,我可以检测到浏览器/选项卡的关闭或刷新?
如果用户关闭浏览器或刷新,我基本上想运行 Firestore 命令。
【问题讨论】:
标签: flutter dart flutter-web
您可以使用“onBeforeUnload”函数来检查选项卡是否正在关闭。它也可能检测到页面刷新。
import 'dart:html' as html;
html.window.onBeforeUnload.listen((event) async{
// do something
});
或
import 'dart:html' as html;
html.window.onUnload.listen((event) async{
// do something
});
【讨论】:
只需使用 OnBeforeUnload 或 OnUnload。 对我来说它在没有异步的情况下工作,我认为这是因为窗口不等待关闭它只是关闭。 如果您想在用户退出选项卡或刷新时更改数据库中的某些内容,则应在后台线程上调用一个方法,以便即使在窗口关闭/选项卡关闭/刷新后它也会继续运行并完成任务。
html.window.onBeforeUnload.listen((event) {
// change something in db
});
【讨论】: