arkui-kit-window-keep-screen-on-demo:基于 ArkUI Kit 的窗口屏幕常亮控制示例项目

HarmonyOS Kit 最小可运行示例,演示获取当前窗口、开启或关闭屏幕常亮、跳转系统休眠设置,并通过 30 秒倒计时验证常亮效果。

分支1Tags0
当前项目代码仓暂无内容

Window Keep Screen On Demo

本项目是“基于 HarmonyOS 各类 Kit 的最小可运行示例集合”中的窗口管理方向 Demo,聚焦 ArkUI Kit 中当前窗口获取与屏幕常亮控制能力。

Demo 仅保留实现功能所需代码,使用 ArkUI 系统组件完成界面构建,适用于能力学习、功能验证、方案评估和项目预研。

核心能力

  • 获取当前应用窗口。
  • 开启或关闭当前窗口屏幕常亮。
  • 尝试打开系统显示和亮度设置,便于将休眠时间调短后验证。
  • 使用 30 秒倒计时辅助观察常亮是否生效。
  • 展示常亮状态、倒计时进度和操作结果。

源码结构

WindowKeepScreenOnDemo/
├── AppScope/
├── entry/
│   └── src/main/
│       ├── ets/
│       │   ├── entryability/EntryAbility.ets
│       │   └── pages/Index.ets
│       ├── module.json5
│       └── resources/
├── README.md
└── LICENSE

使用的 Kit

Kit 项目中的用途
Ability Kit (@kit.AbilityKit) 创建 EntryAbility,保存当前 UIAbilityContext;使用 startAbility() 尝试打开系统显示和亮度设置页面。
ArkUI Kit (@kit.ArkUI) 加载主页面窗口;页面使用 ArkUI 系统组件 TextButtonToggleScroll 等构建界面;使用 window.getLastWindow() 获取当前窗口,使用 setWindowKeepScreenOn() 控制屏幕常亮。

运行

  1. 使用 DevEco Studio 打开 WindowKeepScreenOnDemo 目录。
  2. 打开签名配置并生成本机调试签名。
  3. 连接 HarmonyOS 设备并运行 entry
  4. 点击“打开休眠设置”,将系统休眠时间调为 15 秒或 30 秒。
  5. 返回 Demo,打开常亮开关并启动 30 秒倒计时。
  6. 倒计时结束后观察屏幕是否仍保持点亮。

命令行构建:

./hvigorw assembleHap

公开源码不内置本机证书路径和密码。真机运行前,请在 DevEco Studio 中打开签名配置并生成本机调试签名;build-profile.json5 已将 default product 绑定到 default 签名配置,生成签名材料后即可产出 entry-default-signed.hap

效果截图

截图文件放在 docs/screenshots/ 目录:

docs/screenshots/01-initial.jpg
docs/screenshots/02-sleep-settings.jpg
docs/screenshots/03-keep-on-countdown.jpg
docs/screenshots/04-countdown-finished.jpg
初始状态 休眠设置 常亮倒计时 倒计时结束
初始状态 休眠设置 常亮倒计时 倒计时结束

常亮验证说明

  • 常亮开关:打开时调用 setWindowKeepScreenOn(true),关闭时调用 setWindowKeepScreenOn(false)
  • 打开休眠设置:用于辅助进入系统显示和亮度设置;若系统不支持直接跳转,可手动进入设置页调整休眠时间。
  • 30 秒倒计时:建议先将系统休眠时间调短,再开启常亮并倒计时;如果倒计时结束后屏幕仍保持点亮,说明当前窗口常亮生效。

许可证

Apache-2.0

项目介绍

HarmonyOS Kit 最小可运行示例,演示获取当前窗口、开启或关闭屏幕常亮、跳转系统休眠设置,并通过 30 秒倒计时验证常亮效果。

定制我的领域