flutter - 检测用户是否离开 Flutter 中的当前页面?

有什么方法可以检测用户是否离开当前页面? 我不认为 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/

相关文章:

android-studio - Android : Could not find aapt2-pr

dart - 在 Flutter 中获取设备的宽度和高度

dart - 具有水平列表和网格的 Flutter 可滚动主体作为子项

flutter - Flutter 中的可滚动底部工作表

dart - 检查无状态小部件是否在 flutter 中处理

dart - flutter 错误 : Could not find the correct Sco

android - 在 Flutter 中剪切文本效果

ios - Flutter 在我的 Flutter 应用程序的根目录上构建 IOS 不起作用

dart - 如何在没有 Scaffold.drawer 的情况下使用 Drawer?

dart - 在初始化程序中只能访问静态成员。 Dart2.0