Биометрическое включение и отключение проверки в Android программноJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Биометрическое включение и отключение проверки в Android программно

Сообщение Anonymous »

Я реализую биометрическую аутентификацию в своем приложении. Прежде чем показывать подсказку, я хочу проверить, включен или отключен этот вариант использования. В первом случае извлекается обратный вызов об успехе биометрических данных. Я отключил отпечаток пальца в настройках мобильного телефона и попытался исправить значение, оно возвращает true(0)-> BIOMETRIC_SUCCESS.
Вот мой фрагмент кода
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button authenticateButton = findViewById(R.id.button_biometric);
authenticateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean result = hasBiometricCapability();
Log.d("Mainactivity", String.valueOf(result));
Toast.makeText(MainActivity.this, String.valueOf(result), Toast.LENGTH_SHORT).show();
//showBiometricPrompt();
}
});

}

private boolean hasBiometricCapability() {
BiometricManager biometricManager = BiometricManager.from(this);
Log.d("Mainactivity", String.valueOf(biometricManager.canAuthenticate()));

return biometricManager.canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS;
}

private void showBiometricPrompt() {
BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Authentication")
.setDescription("Please authenticate with your biometrics to continue")
.setDeviceCredentialAllowed(false)
.setNegativeButtonText("cancel")
.build();

BiometricPrompt biometricPrompt = new BiometricPrompt(this,
ContextCompat.getMainExecutor(this),
new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
Toast.makeText(getApplicationContext(), "Authentication successful", Toast.LENGTH_SHORT).show();
}

@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
Toast.makeText(getApplicationContext(), "Authentication failed", Toast.LENGTH_SHORT).show();
}
});

biometricPrompt.authenticate(promptInfo);
}

In the above code snippet am getting true even i disable the fingerprint option in the device settings manually. I should get error/ false response if it is disabled. If it is deleted, I am getting as false but I have no idea how to check for disabled condition.


Подробнее здесь: https://stackoverflow.com/questions/782 ... amatically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»