Android 通过警报对话框进行指纹验证?

Android fingerprint auth through alertdialog?

我想让用户使用指纹身份验证来允许他们在我的应用程序中执行操作。我已经执行了必要的检查,硬件是否存在,是否注册了指纹等,当他们说他们想使用指纹验证时。

当用户需要使用他们的指纹进行身份验证时,当前会打开一个警告对话框。我想知道是否真的可以通过 alertdialog 捕获指纹,因为 alertdialog afaik 只有正负按钮输入选项。

如果无法通过警报对话框执行此操作,请指出正确的方向。

编辑:澄清一下,我并不是说将屏幕用作指纹传感器。

这目前是不可能的。或者如果是的话,我真的很怀疑。大多数触摸屏 phone 使用电容式触摸。这意味着,由于我们的手指导电,我们会干扰 phone 屏幕前的电场。虽然它确实支持多点触控,但我真的怀疑它是否精确到可以检测到我们手指上的脊线。

您需要更多的热敏触摸屏。我认为他们不会在大多数新一代触摸屏中使用它。

所以你可以使用这个 API https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html 但只能在包含指纹扫描的设备中使用,绝对不能通过你设备的屏幕使用。

您可以使用这个 FingerprintDialog 库。然后就是这样:

FingerprintDialog.initialize(this)
    .title(R.string.title)
    .message(R.string.message)
    .callback(new FingerprintCallback({
        @Override
        public void onAuthenticationSuccess() {
            // Fingerprint recognized
        }

        @Override
        public void onAuthenticationCancel() {
            // User pressed cancel button
        }
    }))
    .show();

否则,您只需创建自定义 xml 布局,使用 LayoutInflater 获取视图并在对话框中调用 setView(view)Google it.