Android以编程方式解锁keyguard

Android以编程方式解锁keyguard,android,android-service,android-broadcast,Android,Android Service,Android Broadcast,我发现了很多与设备解锁相关的链接。还是不太明白。我想创建一个基于wifi的设备解锁。因此,每当我连接到标记的Wifi网络时,android手机都应该保持解锁状态,绕过默认密码/pin/模式设置。当我移出该区域时,需要再次应用它 我尝试在Wifi状态改变时使用广播接收器,然后使用disableKeyguard()移除设备锁(当然是在检查了一些条件之后)。但是我不能将keyguard设置为默认状态,使用reenableKeyguard()可能是因为不能在广播请求中保留KeyguardLock值。此外

我发现了很多与设备解锁相关的链接。还是不太明白。我想创建一个基于wifi的设备解锁。因此,每当我连接到标记的Wifi网络时,android手机都应该保持解锁状态,绕过默认密码/pin/模式设置。当我移出该区域时,需要再次应用它

我尝试在Wifi状态改变时使用广播接收器,然后使用disableKeyguard()移除设备锁(当然是在检查了一些条件之后)。但是我不能将keyguard设置为默认状态,使用reenableKeyguard()可能是因为不能在广播请求中保留KeyguardLock值。此外,newKeyguardLock()也不推荐使用。它建议“在锁定时使用FLAG_discover_KEYGUARD和/或FLAG_SHOW_”;该标志是否可以从广播接收器禁用KEYGUARD


我应该改用服务吗?请告诉我您的建议。

第三方应用程序无法完全移除键盘防护装置,它们只能在上面显示自己。谢谢,但Smart Unlock()可以做到这一点。我不知道他们是如何实现的。让我重新表述一下:官方API不能做到这一点。除了您已经提到的KeyguardLock之外,这是遗留代码,可能无法在较新的版本上使用。。。