当前位置: 首页 > news >正文

openharmony之系统亮度范围定制

概述

OpenHarmony系统默认亮度范围为 0 ~ 255(0为最小亮度,255为最大亮度),适用于所有应用窗口的全局亮度调节。针对部分显示设备因硬件限制无法覆盖此范围的场景,系统提供灵活的亮度范围定制能力。本章节详细说明如何基于硬件条件调整系统亮度阈值,确保显示效果与硬件能力匹配。


基本概念

概念描述
系统亮度全局亮度设置,影响所有应用窗口的亮度范围。
窗口亮度单个应用窗口的独立亮度设置,仅影响当前窗口,退出后恢复系统亮度。

约束与限制

  1. 系统参数机制:亮度范围定制基于OpenHarmony的系统参数键值对配置实现,需确保配置项符合系统参数服务规范。
  2. 权限控制:配置文件需通过DAC(数据访问控制)权限设置,确保系统服务可正确解析配置。
  3. 参数范围限制:定制范围需满足 0 ≤ min ≤ default ≤ max ≤ 255 的约束。

开发步骤

1. 创建配置文件目录

在产品目录(如 /vendor/hihope/rk3568)下创建配置文件夹:

etc
├── BUILD.gn
├── display.para
├── display.para.dac

2. 编写 display.para(亮度参数配置)

示例:将亮度范围定制为 min=50default=75max=150

# Brightness limits is 0-255.
const.display.brightness.min=50
const.display.brightness.default=75
const.display.brightness.max=150

3. 编写 display.para.dac(权限配置)

确保系统参数服务有权限解析配置:

# DAC权限配置:foundation:foundation:444
const.display.brightness.="foundation:foundation:444"

4. 编写 BUILD.gn(编译配置)

将配置文件打包到 /vendor/etc/param 目录:

import("//base/powermgr/display_manager/displaymgr.gni")
import("//build/ohos.gni")## Install display.para to /vendor/etc/param/display.para
ohos_prebuilt_etc("display.para") {
source = "display.para"
relative_install_dir = "param"
install_images = [ chipset_base_dir ]
part_name = "${displaymgr_part_name}"
subsystem_name = "powermgr"
}ohos_prebuilt_etc("display.para.dac") {
source = "display.para.dac"
relative_install_dir = "param"
install_images = [ chipset_base_dir ]
part_name = "${displaymgr_part_name}"
subsystem_name = "powermgr"
}group("param_files") {
deps = [":display.para",":display.para.dac",
]
}

5. 更新 bundle.json(模块依赖)

bundle.json 中添加编译依赖(路径示例):

{"service_group": ["//base/powermgr/display_manager/service/etc:param_files"]
}

6. 编译与烧录

  1. 执行编译命令(以DAYU200为例):
    ./build.sh --product-name rk3568 --ccache
    
  2. 将定制版本烧录到开发板。

调测验证

  1. 进入Shell命令行

    hdc shell
    
  2. 验证配置生效

    hidumper -s 3308 -a -a
    
  3. 预期输出(定制后)

    ----------------------------------DisplayPowerManagerService---------------------------------
    DISPLAY POWER MANAGER DUMP:
    Display Id=0 State=0 Discount=1.000000 Brightness=75
    DeviceBrightness=75
    Support Ambient Light: FALSE
    Auto Adjust Brightness: OFF
    Brightness Limits: Max=150 Min=50 Default=75
    

默认配置示例

原始系统亮度范围配置:

# Brightness limits is 0-255.
const.display.brightness.min=5
const.display.brightness.default=102
const.display.brightness.max=255

打包路径:/system/etc/param/display.para


注意事项

  1. RGB值范围mindefaultmax 值需在 [0, 255] 区间内,且满足 min ≤ default ≤ max
  2. 权限配置display.para.dac 文件必须包含 foundation:foundation:444 权限,否则配置无法生效。
  3. 编译依赖:确保 BUILD.gn 中的 part_name 与产品配置一致(如 product_rk3568)。
  4. 验证方法:通过 hidumper 命令检查亮度阈值是否生效,避免直接依赖应用层亮度调节。

通过以上步骤,开发者可灵活适配不同硬件显示设备的亮度限制,确保系统亮度范围与硬件能力匹配,同时保持全局亮度调节的一致性与稳定性。

关注鸿蒙百川,带你盘点更多鸿蒙需求定制。

http://www.dtcms.com/a/392978.html

相关文章:

  • 一种利用串口51单片机远程升级 OTA
  • Redis三种集群模式
  • C++ map_set封装
  • NW836NW884美光固态闪存NW885NW913
  • STM32计算步进电机转速
  • liboffice 全屏禁用工具栏
  • Photoshop - Photoshop 调整图像品质
  • 【CF】Day146——杂题 (递归 | 规律与操作)
  • PyTorch 中特征变换:卷积与转置卷积
  • HashMap底层原理详解:扩容、红黑树与ConcurrentHashMap的线程安全
  • autodl文件存储,文件同步,conda环境同步问题
  • 【ROS2】Begginer : CLI tools - 理解 ROS 2 话题
  • Java网络编程:从基础到实战
  • 面试MYSQL的索引类型、索引的工作原理、以及索引优化策略
  • 一、Pytorch安装教程-windows环境,利用Anaconda搭建虚拟环境,Pycharm开发工具
  • JWT登录校验
  • 对症下药:电商、B2B、本地服务和内容媒体的GEO定制化策略
  • 分类预测 | Matlab实现GWO-BP灰狼算法优化BP神经网络多特征分类预测
  • pcl封装11 (快速定义)旋转矩阵
  • Windows 系统中如何通过 Docker 调用 CUDA 和 cuDNN 加速大模型推理
  • 从零编写vue3系统--5步教学
  • 嵌入式Linux C语言程序设计三
  • 【记录】初赛复习 Day5 6(2021S第一轮错题,内附深井题目讲解)
  • 【C++】类和对象—(下) 收官之战
  • 人工智能学习:什么是迁移学习
  • 模型进阶与神经网络
  • 微软.NET离线运行库合集 v2025.09.09_Win中文_NET运行库_安装教程
  • Galileo AI-AI驱动的UI界面设计工具
  • 布谷鸟布隆过滤器和计数式布隆过滤器和原始布隆过滤器相比分别解决了什么问题?
  • 大模型介绍