插件介绍
wakelock_plus_ohos 是 wakelock_plus[1] 在 OpenHarmony(鸿蒙)平台的实现,由 HarmonyCandies[2] 社区维护。
wakelock_plus 是一个跨平台的 Flutter 插件,用于保持设备屏幕常亮,防止应用在使用过程中自动息屏。在鸿蒙设备上有了 wakelock_plus_ohos 的支持,你的 Flutter 应用也能无缝控制屏幕唤醒状态。
安装
在 pubspec.yaml 中添加依赖:
dependencies:
wakelock_plus: 1.1.4
wakelock_plus_ohos: ^0.0.3
注意:
wakelock_plus_ohos只是平台实现,核心 API 在wakelock_plus包中,所以两个都要添加。
使用
1. 启用屏幕常亮
import 'package:wakelock_plus/wakelock_plus.dart';
// 保持屏幕常亮
await WakelockPlus.enable();
2. 关闭屏幕常亮
// 恢复自动息屏
await WakelockPlus.disable();
3. 切换屏幕常亮状态
// 通过布尔值控制
bool enable = true;
await WakelockPlus.toggle(enable: enable); // 启用
enable = false;
await WakelockPlus.toggle(enable: enable); // 禁用
4. 查询当前状态
// 获取当前是否处于常亮状态
bool isEnabled = await WakelockPlus.enabled;
完整示例
import 'package:flutter/material.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
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_plus_ohos')),
body: Center(
child: ElevatedButton(
onPressed: () async {
bool isEnabled = await WakelockPlus.enabled;
if (isEnabled) {
await WakelockPlus.disable();
} else {
await WakelockPlus.enable();
}
},
child: const Text('切换屏幕常亮'),
),
),
),
);
}
}
引用链接
[1]wakelock_plus: https://pub.dev/packages/wakelock_plus
[2]HarmonyCandies: https://github.com/harmonycandies
夜雨聆风