OpenHarmony 关闭息屏方式总结

前言

OpenHarmony源码版本:4.0release

开发板:DAYU / rk3568

一、通过修改系统源码实现不息屏

修改目录:base/powermgr/power_manager/services/native/profile/power_mode_config.xml

通过文件中的提示可以知道DisplayOffTime表示息屏的,因此只需要修改DisplayOffTime 对应的id:101即可。

value取值 -1 表示不设置,如DisplayOffTime设为 -1 表示不息屏

例:<switch id="101" value="-1" recover_flag="0"/>  表示不息屏

<!--
    Power Mode Definitions:        // 电源模式定义
    MODE_NORMAL = 600,             // 正常模式
    MODE_POWER_SAVE = 601,         // 省电模式
    MODE_PERFORMANCE = 602,        // 性能优先
    MODE_EXTREME_POWER_SAVE = 603, // 超级省电
-->
<!--
    Action Definitions:         // 行为定义
    DisplayOffTime = 101,       // 息屏时间控制
    SystemAutoSleepTime = 102,  // 系统自动睡眠时间控制
    AutoAdjustBrightness = 103, // 亮度自动调整时间控制
    AutoWindowRotation = 107,   // 窗口自动旋转时间控制
    SystemBrightness = 115,     // 系统亮度调节
    VibratorsState = 120,       // 马达(震动)状态
-->
<switch_proxy version="1">
    <proxy id="600">
        <switch id="101" value="-1" recover_flag="0"/>
        <switch id="102" value="0" recover_flag="0"/>
        <switch id="103" value="-1" recover_flag="0"/>
        <switch id="107" value="1" recover_flag="0"/>
        <switch id="115" value="102" recover_flag="0"/>
        <switch id="120" value="1" recover_flag="0"/>
    </proxy>
    <proxy id="601">
        <switch id="101" value="-1" recover_flag="0"/>
        <switch id="102" value="5000" recover_flag="0"/>
        <switch id="103" value="-1" recover_flag="0"/>
        <switch id="107" value="-1" recover_flag="0"/>
        <switch id="115" value="50" recover_flag="0"/>
        <switch id="120" value="-1" recover_flag="0"/>
    </proxy>
    <proxy id="602">
        <switch id="101" value="-1" recover_flag="0"/>
        <switch id="102" value="-1" recover_flag="0"/>
        <switch id="103" value="-1" recover_flag="0"/>
        <switch id="107" value="1" recover_flag="0"/>
        <switch id="115" value="255" recover_flag="0"/>
        <switch id="120" value="1" recover_flag="0"/>
    </proxy>
    <proxy id="603">
        <switch id="101" value="-1" recover_flag="0"/>
        <switch id="102" value="1000" recover_flag="0"/>
        <switch id="103" value="-1" recover_flag="0"/>
        <switch id="107" value="-1" recover_flag="0"/>
        <switch id="115" value="25" recover_flag="0"/>
        <switch id="120" value="-1" recover_flag="0"/>
    </proxy>
</switch_proxy>

二、通过修改电源模式实现不息屏

通过上一步我们查看power_mode_config.xml 我们知道,当模式为性能优先即id=602时,DisplayOffTime=1 的value值 系统默认为-1,所以可以通过hdc指令进行修改

1、执行hdc shell命令

hdc shell power-shell setmode 602

2、执行成功后,会打印出

Set Mode: 602
Set Mode Success!

不过这个修改电源模式的结果不保存,会在系统重启后恢复默认的正常模式,需要再次执行 power-shell 命令进行设置

三、通过hdc 推送电源配置到开发板

首先本地复制一份 power_mode_config.xml 文件,将电源管理中的 101 项的value值改为 -1, 保存备用

1、获取读写权限

hdc shell "mount -o remount,rw /"

2、将修改保存的power_mode_config.xml文件推送到开发板

hdc file send power_mode_config.xml /vendor/etc/power_config/

3、重启

hdc shell reboot

通过hdc推送 power_mode_config.xml 文件到开发板中这种方式,只要不重新烧录开发板的vendor分区,即使开关机开发板,效果都是持续的。

如果执行第2步报以下错误:Error opening file: illegal operation on a directory, path:/vendor/etc/power_config/

说明可能不存在power_config文件夹,需要执行hdc shell 进入,cd  /vendor/etc/ ,执行mount -o rw,remount /vendor, 执行mkdir power_config 创建文件夹,执行exit退出,然后再重新执行第2步。

如果执行第2步报以下错误:Error opening file: read-only file system, path:/vendor/etc/power_config//power_mode_config.xml

说明没有挂载,需要执行hdc shell进入,执行mount -o rw,remount /vendor ,再执行exit退出后,然后再重新执行第2步

四、通过代码实现当前应用不息屏

这种方式不同于上面说到的几种方式,这种方式仅针对当前应用

 private async keepScreenOn(status) {
      let context = getContext(this) as common.BaseContext
      let windowClass = await window.getLastWindow(context) //获取窗口实例
      let isScreenOn = await windowClass.getWindowProperties().isKeepScreenOn //查看屏幕常亮状态
      if (!isScreenOn) {
         await windowClass.setWindowKeepScreenOn(status) //设置窗口常亮或取消
      }
      console.info("屏幕常亮状态: " + isScreenOn)
   }

在应用的onPageShow方法执行keepScreenOn(true),onPageHide方法执行keepScreenOn(false)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/209687.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EasyExcel两行表头

例子&#xff1a; 代码&#xff1a; StorageService localStorageService storageFactory.getLocalStorageService();String path "";// 文件信息String dateTime DateUtils.formatTimestampToString(new Date());String title "xxx统计";String fil…

前端学习系列之CSS

目录 CSS 简介 发展史 优势 基本语法 引用方式 内部样式 行内样式 外部样式 选择器 id选择器 class选择器 标签选择器 子代选择器 后代选择器 相邻兄弟选择器 后续兄弟选择器 交集选择器 并集选择器 通配符选择器 伪类选择器 属性选择器 CSS基本属性 优…

七、ZooKeeper选举机制

目录 1、概念 2、全新集群选举 3、非全新集群选举 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜出

接口测试基础知识

一、接口测试简介 什么是接口测试&#xff1f; 接口测试是测试系统组件间接口的一种测试&#xff0c;主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点&#xff1a; 检查数据的交换&#xff0c;传递和控制管理过程&#xff1b;检查系统间的相互…

OpenTelemetry系列 - 第1篇 相关概念

目录 一、背景二、概念2.1 Traces & Span2.2 Metrics2.3 Logs2.4 Baggage2.5 OTel2.6 OTLP2.7 Resources2.8 Instrumentation Scope2.9 Sampling 三、核心组件 一、背景 OpenTelemetry是一个可观察性框架和工具包&#xff0c;旨在创建和管理遥测数据&#xff0c;如跟踪、指…

一个用c#瞎写的sftp工具

0.下载地址 https://wwus.lanzouj.com/iOZUv1gkgpze 密码:123456 1.能进行单个和批量下载, 没有弄上传 2.速度奇差,可能是某些地方没弄好.有一定的进度显示,但是不太准. 3.很多地方没弄好,有能力的自己弄一下 4.在app.config文件配置sftp

深度学习第4天:感知机模型

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​ 文章目录 感知机模型介绍 神经网络搭建感知机 结构 准备训练数据 感知机的损失函数与优化方法 测试结果 完整代码 多层感知机 结语 感知机模…

火车头插件-最全火车头伪原创图片存储等插件

火车头插件。作为一个功能强大的工具&#xff0c;火车头插件以其众多特色引起了广大用户的关注。而其中&#xff0c;火车头采集器更是备受瞩目。我们将分享火车头插件的安装教程&#xff0c;还会深入了解火车头伪原创插件的应用。 火车头插件安装教程 我们来安装火车头插件&a…

JavaScript 内存泄漏的检测与防范:让你的程序更稳定

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

HT7713 3A同步降压变换器 快速瞬态响应

HT7713 是一款 3A 降压转换器&#xff0c;具有Z少的外部元件和低关断电流。HT7713具有快速瞬态响应的特点&#xff0c;输出电容器采用低 ESR &#xff08;聚合物&#xff09;或超低 ESR&#xff08;陶瓷&#xff09;&#xff0c;无需外部补偿。 HT7713在轻载时以脉冲跳跃模式工…

Spring Security 6.x 系列(8)—— 源码分析之配置器SecurityConfigurer接口及其分支实现

一、前言 本章主要内容是关于配置器的接口架构设计&#xff0c;任意找一个配置器一直往上找&#xff0c;就会找到配置器的顶级接口&#xff1a;SecurityConfigurer。 查看SecurityConfigurer接口的实现类情况&#xff1a; 在 AbstractHttpConfigurer 抽象类的下面可以看到所有…

HT81298 集成免滤波器调制D类音频功放

HT81298是一款内置升压的立体声D类音频功率放大器&#xff0c;HT81298内部集成免滤波器调制技术&#xff0c; 能够直接驱动扬声器&#xff0c;内置的关断功能使待机 电流Z小化&#xff0c;还集成了输出端过流保护、片内 过温保护、输入电源欠压异常保护、升压电压 过压保护等功…

Docker 环境中 Spring Boot 应用的 Arthas 故障排查与性能优化实战

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

Guns快速开发平台 Shiro反序列化漏洞复现

0x01 产品简介 Guns是一个现代化的 Java 应用开发框架&#xff0c;基于主流技术Spring Boot 2 Vue3&#xff0c;Guns的核心理念是提高开发人员开发效率&#xff0c;降低企业信息化系统的开发成本。 0x02 漏洞概述 Guns v5.1 及之前的版本存在 shiro 反序列化漏洞&#xff0c;…

1.0 十大经典排序算法

分类 算法 本系列算法整理自&#xff1a;https://github.com/hustcc/JS-Sorting-Algorithm 同时也参考了维基百科做了一些补充。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#…

Google Chrome 下载 (离线版)

1 访问网址 Google Chrome 网络浏览器 2 点击 下载Chrome 3 直接运行 ChromeStandaloneSetup64.exe 其他&#xff1a; ####################### 谷歌浏览器 (Google Chrome) 最新版离线安装包下载 https://www.iplaysoft.com/tools/chrome/#google_vignette Google Chrome …

SpringBoot整合Activiti7——消息事件(十)

文章目录 消息事件开始事件中间事件边界事件代码实现xml文件测试流程流程执行步骤 消息事件 消息事件只有一个接收者&#xff0c;消息具有名字与载荷。 信息会储存在 act_ru_event_subscr 表中。 <!-- 定义消息 --> <message id"msgId1" name"msgName…

触控板绘画工具Inklet mac功能介绍

Inklet mac是一款触控板绘画工具&#xff0c;把你的触控板变成画画的板子&#xff0c;意思是&#xff0c;你点在触控板的哪里&#xff0c;鼠标就会出现载相应的地方。例如&#xff0c;但你把手指移动到触控盘左下角&#xff0c;那么鼠标也会出现在左下角&#xff0c;对于用户而…

富文本内容回显

<el-card><h7>正文内容</h7><template><div v-html"inputForm.bulletinData"></div></template></el-card> 通过 v-html 来回显数据

MidJourney笔记(6)-Niji模式

Niji模式 回顾一下,在讲解settings命令时,我们可以看到一个Niji字眼。 而且是在Midjourney V4之后才有的,那Niji到底是什么? Niji是MidJourney中用于绘制二次元/动漫风格的模型,那Niji的V4和V5有什么区别呢?