HarmonyOS 设置屏幕亮度问题?

使用settings.setValue(context, settings.display.SCREEN\_BRIGHTNESS\_STATUS, value)可以读取到屏幕亮度,返回值是80,然后再使用settings.setValue(context, settings.display.SCREEN\_BRIGHTNESS\_STATUS, '255')来尝试设置屏幕亮度,返回的结果是true,但屏幕亮度并未改变。请问有什么方法可以修改屏幕亮度?

阅读 505
1 个回答

可以尝试使用brightness.setWindowBrightness来设置屏幕亮度。

1、屏幕亮度值。该参数为浮点数,取值范围为[0.0, 1.0]或-1.0。1.0表示最亮,-1.0表示默认亮度。

2、当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5\#setwindowbrightness9

3、自定义屏幕亮度完成后,将屏幕亮度值调整为-1。(默认值)

let windowClass = windowStage.getMainWindowSync()
let brightness: number = 1;
try {
  windowClass.setWindowBrightness(brightness, (err) => {
    if (err.code) {
      console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
      return;
    }
    console.info('Succeeded in setting the brightness.');
  });
} catch (exception) {
  console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进