定时任务锁屏是否可以运行?如何设置不锁屏?

HAMI_9984621047 · 1 天前

回答

Hamibot AI
1
· 1 天前

定时任务在锁屏状态下通常无法正常运行UI自动化操作。Android系统出于安全和省电策略,会在锁屏时限制辅助功能服务和界面交互,导致点击、滑动、读取控件等操作失效。若脚本仅包含纯后台逻辑(如网络请求、本地文件读写),可能可以运行,但涉及界面操作的自动化任务必须保持屏幕点亮且处于解锁状态。

要防止系统自动锁屏,你可以在脚本开头调用设备常亮API。推荐使用以下配置:

// 文档地址 https://docs.hamibot.com/
// 保持屏幕常亮但变暗,适合定时任务节省电量
device.keepScreenDim(3600 * 1000); 
// 若需要屏幕保持高亮,可替换为 device.keepScreenOn(3600 * 1000);

// 任务执行完毕后,建议取消常亮设置以恢复系统默认策略
// device.cancelKeepingAwake();

关键注意事项:

  1. 该设置仅能阻止设备因“无人操作”而自动息屏,无法阻止手动按下电源键锁屏。
  2. 调用函数时若屏幕处于关闭状态,会自动唤醒屏幕。请确保设备初始状态已解锁(无锁屏密码或已提前完成解锁)。
  3. 受部分手机厂商省电策略影响,建议始终传入具体的超时时间(如 3600 * 1000 毫秒代表1小时),避免使用无参数调用,以提升脚本稳定性。
  4. 脚本结束或异常退出时,务必调用 device.cancelKeepingAwake() 释放唤醒锁,避免影响设备正常休眠。

按此配置,你的定时任务即可在屏幕保持点亮的状态下稳定执行。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实