我想使用android内部类com.android.internal.widget.LockPatternUtils.
我搜索了一些例子,我得到了这个:
LockPatternUtils lpu = new LockPatternUtils(this.getContentResolver());
Run Code Online (Sandbox Code Playgroud)
但是,我无法导入,autimport不会出现并手动执行
import com.android.internal.widget.LockPatternUtils
Run Code Online (Sandbox Code Playgroud)
不起作用.
这是怎么处理的?我认为有一些关于创建界面但不确定它的东西
编辑:我得到了这个:
boolean patternLocked = android.provider.Settings.System.getInt(
getContentResolver(),Settings.System.LOCK_PATTERN_ENABLED, 0)==1;
Run Code Online (Sandbox Code Playgroud)
这适用于模式锁定,但我不知道引脚或密码锁定
使用反射来访问内部Android方法getActivePasswordQuality(LockPatternUtils.java的第350 行),并将它返回的int与任何DevicePolicyManager常量的int进行比较:
protected boolean isSecure() {
String LOCK_PATTERN_UTILS = "com.android.internal.widget.LockPatternUtils";
try {
Class<?> lockPatternUtilsClass = Class.forName(LOCK_PATTERN_UTILS);
Object lockPatternUtils = lockPatternUtilsClass.getConstructor(Context.class).newInstance(this);
Method method = lockPatternUtilsClass.getMethod("getActivePasswordQuality");
int lockProtectionLevel = Integer.valueOf(String.valueOf(method.invoke(lockPatternUtils)));
// Then check if lockProtectionLevel == DevicePolicyManager.TheConstantForWhicheverLevelOfProtectionYouWantToEnforce, and return true if the check passes, false if it fails
}
catch (Exception ex) {
ex.printStackTrace();
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3792 次 |
| 最近记录: |