Android 4.3:如何检查用户是否启用了锁定?

时间:2014-02-13 08:40:18

标签: android security locking

如果用户没有锁定屏幕或仅启用了滑动功能,我希望我的应用可以采取不同的行为(不存储内容)。 最佳答案:check whether lock was enabled or not已经过编辑,说升级到Android 4.3后代码不再有效。

有没有在Android 4.3上检测到这个?

3 个答案:

答案 0 :(得分:8)

好的,所以似乎可以通过一些反思来实现。不是最好的解决方案,但至少它适用于我们尝试过的设备:

        Class<?> clazz = Class.forName("com.android.internal.widget.LockPatternUtils");
        Constructor<?> constructor = clazz.getConstructor(Context.class);
        constructor.setAccessible(true);
        Object utils = constructor.newInstance(context);
        Method method = clazz.getMethod("isSecure");
        return (Boolean)method.invoke(utils);

答案 1 :(得分:4)

您可以使用KeyguardManager进行检查:

KeyguardManager keyguardMgr = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
if(keyguardMgr.isKeyguardSecure()){
    // Secure keyguard, the keyguard requires a password to unlock
} else {
    // Insecure keyguard, the keyguard doesn't require a password to unlock
}

答案 2 :(得分:0)

您可以使用KeyguardManager的方法检查isKeyguardSecure(),以确定是否启用了锁定或密码。

KeyguardManager keyguardManager =(KeyguardManager)getSystemService(KEYGUARD_SERVICE);         Toast.makeText(this,“KeyGuardEnabled?”+ keyguardManager.isKeyguardSecure(),Toast.LENGTH_LONG).show();