使用Flutter Android和iOS模块,您可以使用AppLifeCycleState检测应用程序何时被置于后台。
在Flutter Web中是否有类似的功能,可以检测浏览器/选项卡关闭或刷新?
如果用户关闭浏览器或刷新页面,我想运行一个Firestore命令。
使用Flutter Android和iOS模块,您可以使用AppLifeCycleState检测应用程序何时被置于后台。
在Flutter Web中是否有类似的功能,可以检测浏览器/选项卡关闭或刷新?
如果用户关闭浏览器或刷新页面,我想运行一个Firestore命令。
您可以使用函数"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。 对我来说,它在不使用async的情况下工作,我认为这是因为窗口不等待关闭,而是直接关闭。 如果您想在用户退出选项卡或刷新时更改数据库中的内容,则应调用后台线程上的方法,以便它将继续运行并完成任务,即使窗口关闭/选项卡关闭/刷新。
html.window.onBeforeUnload.listen((event) {
// change something in db
});