2013-10-17 73 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

相关问题