2011-10-24 50 views

回答

12

兩種方法

  1. 檢查編程 - API 16+

https://gist.github.com/doridori/54c32c66ef4f4e34300f

請注意,你不需要檢查人臉解鎖,因爲這需要一個引腳/傳回退是組。

  • 設備管理政策
  • 還可以看到設備管理策略,其允許在應用如何是關於安全性,包括銷/通過設置限制設置限制

    另一方面,如果使用加密的Keystore,則這些是您要檢查的鎖定類型。查詢here瞭解更多信息。

    +2

    好像你可以檢查通過鍵盤保護所有三個鎖類型現在「LOCK_PATTERN_ENABLED將是真實的 - 這是不變的棄用API級別23.使用KeyguardManager確定鍵盤鎖的狀態和安全級別。從M或更高級別的應用程序訪問此設置會引發SecurityException。 http://developer.android.com/reference/android/provider/Settings.Secure.html – Jakob

    +1

    你的權利。 [KeyGuardManager.isKeyGuardSecure()](https://developer.android.com/reference/android/app/KeyguardManager.html#isKeyguardSecure())現在返回_「真,如果輸入PIN,圖案或密碼被設置或SIM卡被鎖定。「自23日起 – Dori

    4

    可以使用Settings.Secure類來查詢有關在Android設備上存在的安全性信息。例如,要看到,如果用戶有一個鎖模式激活,您會怎麼做:那麼

    ContentResolver cr = getContentResolver(); 
    int lockPatternEnable = 
        Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED); 
    

    lockPatternEnable將有一個0,如果沒有啓用它,如果它被啓用1。

    +1

    謝謝,但是PIN或密碼怎麼樣? – Shatazone

    +0

    如果啓用了鎖定模式,那麼這隻會給你,但如果啓用了鎖定,則不會。我的手機上有Pin和Pattern,實際上有2種不同的狀態。 – JPM

    +1

    嗯。我將不得不做更多的研究。現在看起來我們只知道如何檢查鎖定模式是否啓用。 –