2017-03-25 31 views
1

我試圖開發一個有幾個安全選項的應用程序,並且我需要能夠知道設備是否被任何類型的密碼(數字,模式等)鎖定的選項之一,所以我開始閱讀android文檔並發現了兩個KeyguardManager方法,isDevceLocked()和isDeviceSecured(),但是我並沒有在描述中看到很多差異,那麼兩者之間的區別究竟是什麼?在此先感謝鍵盤鎖,isDeviceLocked或isDeviceSecured?

回答

1

official API states the difference,雖然它可能有點混淆。關鍵的區別在於您是否想知道設備的一般配置或其當前狀態。

所以isDeviceLocked()返回true,如果設備是目前鎖定某種密碼或識別機制,這是解鎖和使用該設備所必需的。如果設備當前處於打開狀態並且正在使用,或者它不需要任何密碼/標識以打開設備,它就會返回false。 (參考和更多的細節可以發現here

在另一方面,isDeviceSecure()返回true,如果該設備已配置爲使用任何類型的密碼或識別機制 - 即使它不是目前爲了使用設備所需。

如果您想知道什麼情況可能導致isDeviceSecure返回true,而isDeviceLocked返回false:它可能發生在使用中的設備(在輸入鎖密碼之後)時。另一種情況可能是設備配置了Smart Unlock(或受信任的設備),因此目前它不會要求輸入密碼或任何其他類型的身份證明以便自行打開/解鎖。