Android 9.0以下版本如何使用生物识别提示API

kar*_*ran 5 android android-fingerprint-api

我正在尝试实施生物识别提示 API 以使用指纹验证对用户进行身份验证。我成功地集成了生物识别提示,它正在 andorid 9.0 上运行。但正如文档所示,生物识别 api 也向后兼容,但是当我使用下面的代码构建对话框时,它会显示 API 支持警告。

调用需要 API 级别 28(当前最低为 15):new android.hardware.biometrics.BiometricPrompt.Builder less... (Ctrl+F1) 此检查会扫描应用程序中的所有 Android API 调用,并警告任何以下调用:不适用于此应用程序的所有目标版本(根据清单中的最小 SDK 属性)

mBiometricPrompt = new BiometricPrompt.Builder(this)
                        .setDescription("Description")
                        .setTitle("Title")
                        .setSubtitle("Subtitle")
                        .setNegativeButton("Cancel", getMainExecutor(), new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Log.i(TAG, "Cancel button clicked");
                            }
                        })
                        .build();
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使其在较低的 api 上工作?这是屏幕截图。 在此输入图像描述

Roh*_*5k2 4

看起来旧版本的生物识别提示 API 仍处于 alpha 阶段。如果你对 alpha 版本没问题,你可以使用它build.gradle

compile group: 'androidx.biometric', name: 'biometric', version: '1.0.0-alpha02'
Run Code Online (Sandbox Code Playgroud)

来源:https ://mvnrepository.com/artifact/androidx.biometric/biometric/1.0.0-alpha02

这里只列出了两个版本

  • 1.0.0-alpha01
  • 1.0.0-alpha02

来源: https: //mvnrepository.com/artifact/androidx.biometric/biometric

根据图书馆的描述,它说

生物识别库是一个静态库,您可以将其添加到 Android 应用程序中。它会在运行 P 及更高版本的设备上调用 BiometricPrompt,并且在较旧的设备上将显示一个兼容对话框。兼容运行 API 14 或更高版本的设备。

这意味着您只需要这个兼容库,它就可以在所有版本的 Android 上运行。Android 9以上和Android 9以下不需要保留两个不同的版本。