【发布时间】:2016-11-04 11:02:58
【问题描述】:
我需要检查锁屏是否有 Pin 或更安全的东西(密码、指纹等)。我可以检查是否有 Pin、密码或图案。
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
return keyguardManager.isKeyguardSecure();
我的问题是我无法检测到锁屏是图案还是更低的东西。我试过这个:
int lockPatternEnable = Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);
但它已被弃用并给我一个错误。我也试过这个:
long mode2 = Settings.Secure.getLong(contentResolver, "lockscreen.password_type");
但这也以 SecurityException 结束。
有没有什么方法可以检测锁屏是否有大头针(或更高)或者是否有锁定模式或更低的东西? KeyguardManager 这样对我没用:/
任何帮助表示赞赏! 谢谢!
/编辑
第一个错误是:
Caused by: java.lang.SecurityException: Settings.Secure.lock_pattern_autolock is deprecated and no longer accessible. See API documentation for potential replacements.
第二个的异常是:W/System.err: android.provider.Settings$SettingNotFoundException: lockscreen.password_type
只有在您使用带有 Marshmallow 或更高版本的设备时才会出现该错误 (https://developer.android.com/reference/android/provider/Settings.Secure.html)
【问题讨论】:
-
请发布您的例外情况!
-
我编辑了我的帖子!
-
您必须实现棉花糖前后功能来检查这一点。您可以在运行时根据 SDK 版本切换实现。
-
@user2701206 你能在这个问题上提供任何帮助吗?我面临同样的问题。许多交易!
标签: android locking android-security unlock