2014-02-06 102 views
1

我希望能夠通過我的應用程序查詢用戶是否在其鎖定屏幕上啓用了密碼或PIN。我怎麼能這樣做呢?如何檢測用戶是否啓用了密碼或PIN碼?

我查看了How to detect if PIN/password/pattern is required to unlock phone?,但這似乎只告訴我該設備是否有圖案鎖定屏幕。我特別想知道用戶是否啓用了更安全的功能,例如一個別針或密碼。 (如果所有這些情況都返回true,那麼我可以確定,但在用戶使用數字PIN或字母數字密碼但不是模式鎖定屏幕的情況下,實際返回false。

我在想我可以使用設備管理API,但我不完全知道如何去設置它。此外,這似乎針對企業級應用程序的開發人員,他們希望在其客戶端執行某些策略。我是一個小應用程序開發人員,因爲它對我正在做的事情有安全影響,所以我只想能夠檢測用戶是否已經啓用了這些功能。

+0

查看我的更新的答案另一個你問的鏈接太問題http://stackoverflow.com/a/27801128/236743 :) – Dori

回答

1

"Stackoverflow: Check for lock"鏈接可以幫助您使用設備管理API。奇怪的是,只有對圖案鎖定屏幕識別的直接支持,但是我沒有發現任何其他建議。
下面的鏈接也有一個鏈接到一個grepcode頁面,這可以進一步幫助你。最近的答案顯示您基本上執行getLong()以獲取安全設置的值。從那裏,你只需運行你計劃運行的任何代碼,基於你回來的數字!

+0

我在寫這個問題之前看過這個頁面。這很令人厭惡的是,我無法使它在ICS設備(非根區)或KK 4.4設備(根區)上工作。它總是返回1(LockType.NONE_OR_SLIDER),即使鎖被設置爲使用PIN。 – jwir3

+0

此外,GrepCode頁面並不真正可用,因爲它似乎隱藏在當前的android版本中(即我需要編譯自己的SDK,這不是一個選項)。 – jwir3

+0

嗯,所以我能夠找到以下內容:http://developer.android.com/reference/android/app/KeyguardManager.html#isKeyguardSecure%28%29問題依然存在,但是,因爲我想能夠在API <16(即API 14)上使用它,但直到API 16才支持它。那麼,還有其他方法嗎? – jwir3

相關問題