Как узнать метод разблокировки программно?
Для ОС 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-кода, шаблона или пароля. В сочетании с проверкой шаблона вы можете определить, включен ли контакт.
Не забудьте сначала проверить отпечатки пальцев, так как для них также требуется разблокировка с помощью пин-кода и пароля.