Я хочу получить данные байта отпечатка пальца с помощью android 7 api. Для этого я следую этому руководству: Учебное пособие по Fingerprint API
В этом уроке у меня есть готовые инструкции по аутентификации пользователя с помощью отпечатка пальца с использованием API отпечатка пальца.
public void startListening(FingerprintManager.CryptoObject cryptoObject) {
if (!isFingerprintAuthAvailable()) {
return;
}
mCancellationSignal = new CancellationSignal();
mSelfCancelled = false;
mFingerprintManager
.authenticate(cryptoObject, mCancellationSignal, 0 /* flags */, this, null);
mIcon.setImageResource(R.drawable.ic_fp_40px);
}
public void stopListening() {
if (mCancellationSignal != null) {
mSelfCancelled = true;
mCancellationSignal.cancel();
mCancellationSignal = null;
}
}
Но мне не нужно аутентифицировать данные отпечатка пальца пользователя с помощью android api. Мне нужны только байтовые данные отпечатка пальца, полученные из android api. Как я могу это получить?
Текущий (и, вероятно, будущий) Android API будет разрешать только аутентификацию отпечатков пальцев и не будет иметь доступа к самим необработанным данным отпечатков пальцев. Это связано с тем, как Android обрабатывает данные отпечатков пальцев; он анализируется исключительно в Trusted Execution Environment (TEE). TEE содержит единственный ключ шифрования данных отпечатка пальца и никогда не покидает TEE, поэтому даже если вы можете получить данные отпечатка пальца, они будут зашифрованы.
Также важно отметить, что TEE имеет аппаратную поддержку, либо с использованием выделенного оборудования, либо через виртуализацию на основном процессоре, поэтому даже рутирование вашего телефона не позволит вам получить доступ к данным.
Вы можете узнать больше о TEE здесь
Если вам действительно нужен доступ к необработанным данным отпечатков пальцев, я предлагаю использовать внешний сканер с сопутствующим SDK, таким как Вот этот. Я использовал это для проектов раньше, и SDK очень хорош и хорошо документирован.
Вы не можете использовать Android API по всем причинам, указанным в первом абзаце моего ответа и связанной статье
Я интегрировал secugen sdk. Но почему я не могу получить данные о пальцах с помощью android api?