Как определить, заблокирован ли телефон паролем, выводом или рисунком?
Благодарю вас!
Как определить, заблокирован ли телефон паролем, выводом или рисунком?
Благодарю вас!
Два метода
https://gist.github.com/doridori/54c32c66ef4f4e34300f
Обратите внимание, что вам не нужно проверять разблокировку лица, так как это требует, чтобы был установлен резервный выход pin/pass.
Можно также просмотреть политики администратора устройства, которые позволяют устанавливать ограничения на то, как приложение настроено в отношении безопасности, включая ограничения на установление контактов/пропусков.
В стороне, это типы блокировок, которые вы хотите проверить, если используете зашифрованный Keystore. здесь для получения дополнительной информации.
Вы можете использовать класс Settings.Secure для запроса информации о безопасности, установленной на устройстве Android. Например, чтобы узнать, включен ли для пользователя шаблон блокировки, выполните следующие действия.
ContentResolver cr = getContentResolver();
int lockPatternEnable = 
  Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);
 lockPatternEnable будет иметь 0, если он не был включен, и 1, если он был включен.
Это должно быть хорошо для Android API 16 и выше, согласно документации. Я проверил это на 19, и это похоже на работу.
private boolean IsDeviceSecured () {
    KeyguardManager keyguardManager =
            (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); //api 16+
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        return keyguardManager.isDeviceSecure();
    }
    return keyguardManager.isKeyguardSecure ();
}