You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Desktop是否有控制桌面电源(开关机、休眠)的API?

Flutter Desktop 电源控制实现方案

Flutter Desktop本身没有内置的电源控制API,但可以通过调用系统原生命令或使用第三方插件来实现开关机、休眠等功能,以下分平台说明具体实现方式:

各平台具体实现

Windows

通过系统内置的shutdown命令实现不同电源操作:

  • 立即关机:执行命令 shutdown /s /t 0
  • 立即重启:shutdown /r /t 0
  • 休眠:shutdown /h
  • 注销:shutdown /l

macOS

使用pmset或shutdown命令控制电源:

  • 立即关机:shutdown -h now 或 pmset shutdownnow
  • 立即重启:shutdown -r now
  • 立即休眠:pmset sleepnow
  • 关闭显示器:pmset displaysleepnow

Linux

根据发行版不同,常用命令如下:

  • 关机:systemctl poweroff 或 shutdown -h now
  • 重启:systemctl reboot 或 shutdown -r now
  • 休眠:systemctl suspend 或 pm-suspend(部分发行版需提前安装pm-utils)

Flutter中执行系统命令的方法

可以直接使用dart:io库的Process.run()方法调用上述命令,也可使用第三方包简化逻辑。示例代码:

import 'dart:io';

// Windows平台立即关机
Future<void> shutdownWindows() async {
  await Process.run('shutdown', ['/s', '/t', '0']);
}

// macOS平台立即休眠
Future<void> sleepMacOS() async {
  await Process.run('pmset', ['sleepnow']);
}

// Linux平台休眠
Future<void> suspendLinux() async {
  await Process.run('systemctl', ['suspend']);
}

注意:执行这类命令通常需要管理员/root权限,应用中需处理权限申请或提示用户授权。

内容的提问来源于stack exchange,提问作者LULUfather

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:24:30