android - 检查密码是否存在并在锁定屏幕上启用 - Android

标签 android

有什么方法可以检查您是否以编程方式在您的设备上启用了 android 锁屏密码? 我开始使用 DeviceAdminReceiver 和 DevicePolicyManager 类对此进行检查,但这些类不涉及以下状态: 1.我有一个锁屏密码->我删除了密码,现在密码被禁用了。

感谢您的帮助, 尼尔

最佳答案

没有干净的方法可以做到这一点。没有正式的 API。如果你愿意冒被黑客攻击的风险,你可以试试这个。我拼凑了一些我在这个 site 上找到的代码.

boolean hasPasswordOnLockScreen(){
  String sLockPasswordFilename = 
    android.os.Environment.getDataDirectory().getAbsolutePath() + 
    "/system/password.key";
  try {
        // Check if we can read a byte from the file
        RandomAccessFile raf = new RandomAccessFile(filename, "r");
        raf.readByte();
        raf.close();
        return true;
    } catch (FileNotFoundException fnfe) {
        return false;
    } catch (IOException ioe) {
        return false;
    }
}

请注意,这是一个 hack,并且有可能在未来不起作用,因为密码文件的路径和文件名发生了变化。

关于android - 检查密码是否存在并在锁定屏幕上启用 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7488703/

相关文章:

java - 在android的服务中调用位置管理器两次

java - Android Facebook-Connect 按钮需要点击两次

Android 哈希键只能工作一次

java - TextView无法访问代码

android - 蓝牙A2DP + AVRCP 1.3+模块

android - 安装错误 : INSTALL_FAILED_UID_CHANGED Non-rooted Android Phone

java - 根据日期从MySQL数据库中获取数据

android - react-native run-android 命令失败,但 gradlew installDebug 工作

android - 单击按钮,循环浏览颜色/背景

android - 录音延迟 (Android) GT-i5700