我正在尝试开发一个具有一些安全选项的应用程序,对于这些选项之一,我需要能够知道该设备是否被任何种类的密码(数字,模式等)锁定,因此我开始阅读android文档并发现两个KeyguardManager方法isDeivceLocked()和isDeviceSecured(),但是我在描述中并没有发现太多区别,那么两者之间到底有什么区别呢?提前致谢

最佳答案

official API states the difference,尽管可能有点令人困惑。关键区别在于您是否想知道设备的常规配置或其当前状态。

因此,如果设备当前被锁定在某种密码或标识机制之后,isDeviceLocked()将返回true,这是解锁和使用设备所必需的。如果设备当前处于打开状态且正在使用中,或者它不需要任何密码/身份来打开它,则返回false。 (参考和更多详细信息可以在here中找到)

另一方面,如果已将设备配置为使用任何类型的密码或标识机制,即使已不需要使用isDeviceSecure(),则返回即可。

如果您想知道哪种情况可能导致isDeviceSecure返回true,而isDeviceLocked返回false:每当使用中的设备(已输入锁定密码之后),都​​可能发生。另一种情况可能是设备配置了Smart Unlock(或受信任设备),因此当前它不会要求密码或任何其他种类的身份来打开/解锁自己。

关于android - Keyguard,isDeviceLocked或isDeviceSecured?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43020977/

10-12 04:32