Flutter中如何监听windows_manager的最小化事件
在Flutter开发Windows应用时,如何监听窗口管理器的窗口最小化事件?目前使用window_manager插件,但找不到相关事件回调。是否有官方API或第三方方案能实现这个功能?需要兼容Windows 10/11系统。
2 回复
在Flutter中监听窗口最小化事件,可以使用window_manager插件的onWindowEvent方法:
windowManager.onWindowEvent((event) {
if (event == WindowEvent.minimize) {
// 处理最小化事件
}
});
需要先添加window_manager依赖并申请相应权限。
更多关于Flutter中如何监听windows_manager的最小化事件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中监听窗口最小化事件,可以通过 window_manager 插件实现。以下是具体步骤:
-
添加依赖
在pubspec.yaml中添加:dependencies: window_manager: ^0.3.0 -
初始化并监听事件
在main.dart中初始化并添加事件监听:import 'package:flutter/material.dart'; import 'package:window_manager/window_manager.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await windowManager.ensureInitialized(); // 初始化窗口管理器 runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> with WindowListener { @override void initState() { super.initState(); windowManager.addListener(this); // 添加监听器 } @override void dispose() { windowManager.removeListener(this); // 移除监听器 super.dispose(); } // 监听窗口最小化事件 @override void onWindowMinimize() { print('窗口已最小化'); // 在此处添加自定义逻辑 } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text('窗口事件示例')), body: Center(child: Text('尝试最小化窗口以触发事件')), ), ); } }
注意事项:
- 确保在
initState中添加监听,在dispose中移除。 onWindowMinimize是WindowListener提供的回调方法,窗口最小化时自动触发。- 适用于 Windows、macOS 和 Linux 平台。
通过以上代码,即可在 Flutter 应用中监听并响应窗口最小化事件。

