当前位置:   article > 正文

OpenHarmony 关闭息屏方式总结_openharmony休眠

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"/>  表示不息屏

  1. <!--
  2. Power Mode Definitions: // 电源模式定义
  3. MODE_NORMAL = 600, // 正常模式
  4. MODE_POWER_SAVE = 601, // 省电模式
  5. MODE_PERFORMANCE = 602, // 性能优先
  6. MODE_EXTREME_POWER_SAVE = 603, // 超级省电
  7. -->
  8. <!--
  9. Action Definitions: // 行为定义
  10. DisplayOffTime = 101, // 息屏时间控制
  11. SystemAutoSleepTime = 102, // 系统自动睡眠时间控制
  12. AutoAdjustBrightness = 103, // 亮度自动调整时间控制
  13. AutoWindowRotation = 107, // 窗口自动旋转时间控制
  14. SystemBrightness = 115, // 系统亮度调节
  15. VibratorsState = 120, // 马达(震动)状态
  16. -->
  17. <switch_proxy version="1">
  18. <proxy id="600">
  19. <switch id="101" value="-1" recover_flag="0"/>
  20. <switch id="102" value="0" recover_flag="0"/>
  21. <switch id="103" value="-1" recover_flag="0"/>
  22. <switch id="107" value="1" recover_flag="0"/>
  23. <switch id="115" value="102" recover_flag="0"/>
  24. <switch id="120" value="1" recover_flag="0"/>
  25. </proxy>
  26. <proxy id="601">
  27. <switch id="101" value="-1" recover_flag="0"/>
  28. <switch id="102" value="5000" recover_flag="0"/>
  29. <switch id="103" value="-1" recover_flag="0"/>
  30. <switch id="107" value="-1" recover_flag="0"/>
  31. <switch id="115" value="50" recover_flag="0"/>
  32. <switch id="120" value="-1" recover_flag="0"/>
  33. </proxy>
  34. <proxy id="602">
  35. <switch id="101" value="-1" recover_flag="0"/>
  36. <switch id="102" value="-1" recover_flag="0"/>
  37. <switch id="103" value="-1" recover_flag="0"/>
  38. <switch id="107" value="1" recover_flag="0"/>
  39. <switch id="115" value="255" recover_flag="0"/>
  40. <switch id="120" value="1" recover_flag="0"/>
  41. </proxy>
  42. <proxy id="603">
  43. <switch id="101" value="-1" recover_flag="0"/>
  44. <switch id="102" value="1000" recover_flag="0"/>
  45. <switch id="103" value="-1" recover_flag="0"/>
  46. <switch id="107" value="-1" recover_flag="0"/>
  47. <switch id="115" value="25" recover_flag="0"/>
  48. <switch id="120" value="-1" recover_flag="0"/>
  49. </proxy>
  50. </switch_proxy>

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

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

1、执行hdc shell命令

hdc shell power-shell setmode 602

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

  1. Set Mode: 602
  2. 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步

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/765900
推荐阅读
相关标签
  

闽ICP备14008679号