Как определить, требуется ли PIN-код / ​​пароль / шаблон для разблокировки телефона? - PullRequest
16 голосов
/ 24 октября 2011

Как я могу определить, заблокирован ли телефон паролем, пин-кодом или шаблоном?

спасибо!

Ответы [ 3 ]

15 голосов
/ 06 января 2015

Два метода

  1. Проверка программно - API 16 +

https://gist.github.com/doridori/54c32c66ef4f4e34300f

Обратите внимание, что вам не нужно проверять лицодля разблокировки необходимо, чтобы был установлен запасной контакт / пасс.

Политики администрирования устройства

Также можно ознакомиться с политиками администрирования устройства, которые допускают ограничения на настройку приложения в отношении безопасности, включая ограничения набора пин-кодов

Кроме того, это типы блокировки, которые вы хотите проверить при использованиизашифрованный Keystore.Проверьте здесь для получения дополнительной информации.

5 голосов
/ 24 октября 2011

Вы можете использовать класс Settings.Secure для запроса информации о безопасности, установленной на устройстве Android. Например, чтобы узнать, включен ли для пользователя шаблон блокировки, выполните:

ContentResolver cr = getContentResolver();
int lockPatternEnable = 
  Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);

lockPatternEnable будет иметь 0, если он не был включен, и 1, если он был включен.

1 голос
/ 29 января 2019

Это должно быть в порядке для 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 ();
}
...