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

Для ОС Android мне нужно выяснить, что пользователь использует для разблокировки устройства. Будь то ноль, PIN-код, шаблон, отпечаток пальца.

1 ответ

Чтобы определить, существует ли аутентифицированный отпечаток пальца:

FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);

if (fingerprintManagerCompat.isHardwareDetected() && fingerprintManagerCompat.hasEnrolledFingerprints()) { 
    // Device supports fingerprint authentication and has registered a fingerprint     
} 

Чтобы использовать это, вам также нужно добавить разрешение

<uses-permission android:name="android.permission.USE_FINGERPRINT" />

Чтобы проверить, включен ли шаблон блокировки:

ContentResolver cr = getContentResolver();

int lockPatternEnable = Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED, 0);
// If user has pattern unlock then lockPatternEnable will be 1 else 0

Насколько мне известно, не существует явного способа проверить PIN-код / ​​пароль, но вы можете использовать метод isDeviceSecure () KeyGuardManager.

который возвращается true если устройство защищено с помощью PIN-кода, шаблона или пароля. В сочетании с проверкой шаблона вы можете определить, включен ли контакт.

Не забудьте сначала проверить отпечатки пальцев, так как для них также требуется разблокировка с помощью пин-кода и пароля.

Другие вопросы по тегам