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