Как использовать собственный интерфейс сканера отпечатков пальцев на устройствах Android?

Требование: как использовать собственный интерфейс сканера отпечатков пальцев для экранных сенсорных устройств Android (например, Samsung s10 plus).

Схема работы аутентификации по отпечатку пальца понятна. Но есть ли какой-либо метод или библиотеки для получения собственного пользовательского интерфейса сканера отпечатков пальцев?


person SARATH V    schedule 13.08.2019    source источник
comment
@RahulKhurana, я знаю код и рабочий процесс. Вопрос о нативном интерфейсе для разных устройств .. Некоторые с отдельным сканером, некоторые с экранным сканером.   -  person SARATH V    schedule 13.08.2019
comment
Поскольку существует несколько производителей устройств, которые настраивают пользовательский интерфейс на уровне ОС. Для этого не существует официального API от Google.   -  person Rahul Khurana    schedule 13.08.2019


Ответы (1)


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

public class MyFingerPrintDialog extends BottomSheetDialog implements 
View.OnClickListener {

private Context context;

private Button btnCancel;
private TextView itemTitle;

private BiometricCallback biometricCallback;

public MyFingerPrintDialog(@NonNull Context context) {
    super(context, R.style.BottomSheetDialogTheme);
    this.context = context.getApplicationContext();
    setDialogView();
}

public MyFingerPrintDialog(@NonNull Context context, BiometricCallback biometricCallback) {
    super(context, R.style.BottomSheetDialogTheme);
    this.context = context.getApplicationContext();
    this.biometricCallback = biometricCallback;
    setDialogView();
}

public MyFingerPrintDialog(@NonNull Context context, int theme) {
    super(context, theme);
}

protected MyFingerPrintDialog(@NonNull Context context, boolean cancelable, OnCancelListener cancelListener) {
    super(context, cancelable, cancelListener);
}

private void setDialogView() {
    View bottomSheetView = getLayoutInflater().inflate(R.layout.view_bottom_sheet, null);
    setContentView(bottomSheetView);

    btnCancel = findViewById(R.id.btn_cancel);
    btnCancel.setOnClickListener(this);

    itemTitle = findViewById(R.id.item_title);
}

Биометрический

public interface BiometricCallback {

void onAuthenticationFailed();

void onAuthenticationCancelled();

void onAuthenticationSuccessful();
}
person Manoj Perumarath    schedule 13.08.2019