在鸿蒙实际开发的时候,想请教一下怎么禁止系统自动息屏啊?有什么好的方法么?
调用setWindowKeepScreenOn接口,设置isKeepScreenOn为true即可, 代码示例如下:
windowStage.loadContent('pages/LauncherPage', (err) => {
if (err.code) {
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
return;
}
// ...
// 获取应用主窗口
let windowClass: window.Window = windowStage.getMainWindowSync();
// 设置屏幕常亮(不熄屏)
let isKeepScreenOn: boolean = true;
try {
windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err: BusinessError) => {
const errCode: number = err.code;
if (errCode) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the screen to be always on.');
});
} catch (exception) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
}
});
@ohos.powerManager模块,通过powerManager = powerManager.getInstance();获取电源管理器实例。调用powerManager.acquireWakeLock方法获取唤醒锁,阻止设备进入睡眠状态,实现禁止自动息屏。powerManager.WakeLockType.SCREEN_DIM_WAKE_LOCK类型,此类型允许屏幕调暗但不会自动熄灭,可满足既保持屏幕开启又相对节能的需求。powerManager.releaseWakeLock方法,避免过度消耗电量。例如在页面关闭或特定操作完成后释放唤醒锁。示例代码