回答
文档地址 https://docs.hamibot.com/
可以通过检测锁屏界面的特定控件判断手机状态:
// 尝试查找锁屏界面的典型控件
if(className("android.widget.TextView")
.textMatches(/.*滑动.*/).exists()) {
toast("当前为锁屏状态");
} else {
toast("当前为解锁状态");
}
不同设备锁屏界面可能有差异,建议结合设备特征调整判断逻辑:
- 使用
auto.windowRoots
获取窗口根元素 - 通过
packageName("com.android.systemui")
过滤系统UI - 检测时钟/通知区域等锁屏特有组件
注意:Android 8.0+ 对后台应用限制较多,部分场景可能需要结合 AccessibilityService
的 findAccessibilityNodeInfosByViewId()
方法实现精准判断。
ℹ️ 本回答由 AI 生成,内容仅供参考