java - 如何在android中检查设备是否设置了密码?

标签 java android device-admin

在我的应用程序中,我想检查用户是否在他们的 android 设备中设置了密码?我尝试使用设备管理 api 无法获取这些信息。还有其他办法吗?

最佳答案

设备管理员不允许您直接检查设备是否有锁屏密码(或图案...)。

但是您可以间接

  1. Retrieve来自设备管理员的密码质量级别(原始值)
  2. Set设备管理员的密码质量降至最低水平(即 PASSWORD_QUALITY_SOMETHING)
  3. Ask设备管理员密码质量是否足够(如果为真=用户有密码)
  4. 恢复原始密码质量级别(第 1 步中的值)

DevicePolicyManager允许您 set/get所需的密码质量级别和 check密码是否足够。

您的设备管理员需要使用限制密码策略:

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <limit-password />
  </uses-policies>
</device-admin>

你应该仔细阅读 this Device Administrator Guide .

关于java - 如何在android中检查设备是否设置了密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16910698/

相关文章:

java - Java错误: IllegalArgumentException

java - 当 JButton ActionEvent 执行时,如何通知具有 GUI 构建器类实例的类

安卓 "Not granting permission"错误

android设备管理员不能被禁用?

java - 对 CSV 特殊字符使用临时占位符是一种不好的做法吗?

java - 如何从 Java 字符串中删除除某些字符之外的所有字符?

android - 基于 Firestore 角色的身份验证无法按预期工作

android - NullPointerExceptionAndroidStudio

java - 安卓 : calling a user defined method causing application misbehave

android - 为什么 sendBroadcastAsUser(intent,userHandle) 即使与 Android 5.0 中的设备所有者一起工作也不起作用?