有什么方法可以检测用户是否离开当前页面?
我不认为 WidgetsBinding
会起作用,因为它自己处理这些事件。
那么,有人有什么解决办法吗?
任何帮助表示赞赏。
最佳答案
如果“离开页面”意味着用户从该页面“返回”,我有一个简单的解决方案。如果您还想在用户在当前页面之前打开另一个页面时收到通知,则以下解决方案将不起作用。
对于第一种情况,您可以使用 WillPopScope .
当封闭的 ModalRoute
(Navigator
内部使用)即将弹出时,它会通知您。它甚至让您可以选择是否要发生流行音乐。
只需将第二个屏幕的 Scaffold
包装在 WillPopScope
中。
return WillPopScope(
onWillPop: () async {
// You can do some work here.
// Returning true allows the pop to happen, returning false prevents it.
return true;
},
child: ... // Your Scaffold goes here.
);
https://stackoverflow.com/questions/53038560/