Flutter如何使用wakelock_plus插件
我在Flutter项目中需要使用wakelock_plus插件来保持屏幕常亮,但不太清楚具体怎么实现。按照官方文档添加依赖后,应该怎么在代码中调用?是否需要特殊权限?在Android和iOS上是否需要不同的配置?另外这个插件和原版wakelock有什么区别,为什么推荐用plus版本?求一个完整的使用示例代码。
2 回复
在Flutter中使用wakelock_plus插件:
- 添加依赖到
pubspec.yaml:
dependencies:
wakelock_plus: ^1.0.0
- 导入包:
import 'package:wakelock_plus/wakelock_plus.dart';
- 启用/禁用屏幕常亮:
// 启用
WakelockPlus.enable();
// 禁用
WakelockPlus.disable();
// 检查状态
bool enabled = await WakelockPlus.enabled;
适用于视频播放、导航等需要保持屏幕亮起的场景。
更多关于Flutter如何使用wakelock_plus插件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter中使用wakelock_plus插件可以防止屏幕休眠,适用于视频播放、导航等场景。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 的 dependencies 中添加:
dependencies:
wakelock_plus: ^1.0.0
运行 flutter pub get 安装。
2. 基本用法
import 'package:wakelock_plus/wakelock_plus.dart';
// 启用屏幕常亮
WakelockPlus.enable();
// 禁用屏幕常亮
WakelockPlus.disable();
// 检查当前状态
bool isEnabled = await WakelockPlus.enabled;
3. 完整示例
import 'package:flutter/material.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Wakelock Demo')),
body: Center(
child: Column(
children: [
ElevatedButton(
onPressed: WakelockPlus.enable,
child: const Text('保持屏幕常亮'),
),
ElevatedButton(
onPressed: WakelockPlus.disable,
child: const Text('关闭屏幕常亮'),
),
],
),
),
),
);
}
}
4. 注意事项
- Android需要权限(自动处理)
- iOS无需额外配置
- 推荐在
dispose中禁用:
@override
void dispose() {
WakelockPlus.disable();
super.dispose();
}
该插件是wakelock的升级版,支持空安全,用法与旧版基本一致。

