回答
在 Hamibot 脚本运行过程中,屏幕自动熄屏通常是由于系统省电策略或屏幕超时设置导致的。你可以通过 Hamibot 提供的设备控制函数来管理屏幕状态,确保脚本稳定执行。
核心解决方法:
- 保持屏幕常亮:使用
device.keepScreenOn([timeout])。建议传入明确的时长(单位毫秒),例如3600 * 1000(1小时)。部分安卓系统的省电策略会导致无参数调用在其他应用界面失效,使用长时长替代“永久常亮”更稳定。 - 保持屏幕常亮但变暗:使用
device.keepScreenDim([timeout])。适用于无需用户观看的后台或定时任务,可在维持脚本运行的同时降低功耗。 - 唤醒已熄屏的设备:使用
device.wakeUpIfNeeded()。在脚本关键操作前调用,若屏幕未点亮则自动唤醒。 - 恢复系统默认设置:任务执行完毕后,务必调用
device.cancelKeepingAwake()取消屏幕常亮状态,避免影响设备正常使用。
示例代码:
// 文档地址 https://docs.hamibot.com/
// 1. 确保屏幕已点亮
device.wakeUpIfNeeded();
// 2. 保持屏幕常亮 1 小时
device.keepScreenOn(3600 * 1000);
// 你的自动化操作逻辑
// ...
// 3. 任务结束,取消屏幕常亮
device.cancelKeepingAwake();
注意事项与最佳实践:
- 上述函数仅能防止系统自动熄屏,无法拦截用户手动按下电源键锁屏。
- 若脚本需要长时间运行,建议在 Hamibot 客户端内执行,并在系统设置中为 Hamibot 关闭电池优化、允许后台运行,以减少系统杀后台或限制屏幕唤醒的概率。
- 避免在循环中重复调用
keepScreenOn,在脚本初始化阶段调用一次即可。 - 若使用
keepScreenDim,屏幕变暗后触控操作依然有效,适合无人值守的挂机脚本。
根据你的具体场景(如定时打卡、长时间数据采集、UI 交互等),可灵活组合上述函数。如有特定运行环境或报错信息,可提供详细情况,我会为你进一步调整方案。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实