从视图上的Android P指纹生物识别提示

问题描述 投票:2回答:1

我正在使用FingerprintManager通过指纹验证我的应用程序。我和android View一起使用指纹ui,当调用FingerprintManager.authenticate回调时,我处理视图中的回调,例如更改指纹图标,错误文本等。

现在在Android P,我必须使用BiometricPrompt,这很容易使用,但迫使我有一个Activity,以便正常工作

有没有办法让BiometricPrompt在简单的android视图中工作?

这是我在一个活动中启动提示的工作代码

    Signature signature = createSignature();
    biometricPrompt = new BiometricPrompt.Builder(context)
            .setDescription("Description")
            .setTitle("Title")
            .setSubtitle("Subtitle")
            .setNegativeButton("Cancel", context.getMainExecutor(), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    Log.i(TAG, "Cancel button clicked");
                }
            })
            .build();

        biometricPrompt.authenticate(new BiometricPrompt.CryptoObject(signature), cancellationSignal, context.getMainExecutor() , new BiometricPrompt.AuthenticationCallback() {...}

上下文是一种没有它的活动,它无法工作

android fingerprint biometrics android-9.0-pie android-fingerprint-api
1个回答
0
投票

在回顾了我在问题主题中收到的评论之后,我看到问题出现在cancelSignal中,FingerprintManager在Android P和BiometricPrompt视图中都有效,

实际问题是在运行android P的三星设备(Note9,S10)上,当使用FingerprintManager时,将出现透明屏幕并覆盖我在cancelationSignal.cancel中有onDetach的视图,这将破坏整个身份验证流程。在其他设备上它是有意义的,因为用户可以按需关闭指纹屏幕

© www.soinside.com 2019 - 2024. All rights reserved.