2013-10-17 101 views
0

我希望通過編程檢查,如果我的設備是由第三方鎖屏鎖定...使用Android正常鎖屏,你可以做到這一點檢查設備是否由第三方應用程序鎖定

KeyguardManager kgMgr = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); 
boolean locked = kgMgr.inKeyguardRestrictedInputMode(); 

但什麼如果安裝了第三方鎖屏?有沒有辦法檢查設備是否被鎖定?

回答

0

您可以使用PackageManager類獲取前臺應用程序並檢查其權限。 要獲得前臺應用程序,您可以通過this鏈接。

一旦你得到前臺應用程序,你可以獲取該應用程序的權限。檢查this鏈接支持此功能。

稍後,您可以通過getApplicationInfo及更高版本&與ApplicationInfo.FLAG_SYSTEM來檢查其是否爲系統應用程序。你可以檢查this鏈接如何做到這一點。

+0

這就是我正在尋找的!感謝那! – davidOhara

+0

但是如果前景中有一個不是LockScreen的應用程序,而且還需要「android.permission.DISABLE_KEYGUARD」?比我會得到錯誤的信息... – davidOhara

0

我認爲所有自定義鎖屏使用<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />權限。所以你的方法在大多數標準情況下應該是正確的。

+0

所以我可以得到所有正在運行的進程的列表,並採取優先級指示應用程序在前臺。有沒有辦法查看該應用程序的清單? – davidOhara

相關問題