方法描述
isKeyguardLocked: 方法返回true, 说明正在锁屏, 返回false说明已经解锁并正常使用
问题描述
复现频次: 偶现
偶现条件: 当应用亮屏后启动测试App, 应该是解锁状态, isKeyguardLocked应该返回false表示已经解锁, 但是返回true
解决办法
方法1
如果在启动测试App之后熄灭屏幕一次后再尝试isKeyguardLocked的返回值, 就能正常返回是否是屏幕锁定状态
方法2
不再通过这个方法获取是否是解锁状态, 而是判断当前是否亮屏, 亮屏情况下才可能解锁, 然后通过无障碍模式获取当前界面的文字标识判断是哪个界面.
如果有"使用情况访问权限", 也可以根据Activity stop后, 有没有新的Activity start来判断是否进入解锁状态. 如果进入解锁状态, 顶层的Activity是start状态, start之后没有stop