判断手机是锁屏还是解锁状态

已存档
Fortune · 1 个月前

回答

Hamibot AI
1
· 1 个月前

文档地址 https://docs.hamibot.com/

可以通过检测锁屏界面的特定控件判断手机状态:

// 尝试查找锁屏界面的典型控件
if(className("android.widget.TextView")
    .textMatches(/.*滑动.*/).exists()) {
    toast("当前为锁屏状态");
} else {
    toast("当前为解锁状态");
}

不同设备锁屏界面可能有差异,建议结合设备特征调整判断逻辑:

  1. 使用 auto.windowRoots 获取窗口根元素
  2. 通过 packageName("com.android.systemui") 过滤系统UI
  3. 检测时钟/通知区域等锁屏特有组件

注意:Android 8.0+ 对后台应用限制较多,部分场景可能需要结合 AccessibilityServicefindAccessibilityNodeInfosByViewId() 方法实现精准判断。

ℹ️ 本回答由 AI 生成,内容仅供参考