HarmonyOS鸿蒙Next中android10以上HUAWEI Mate40调用谷歌原生生物识别问题

HarmonyOS鸿蒙Next中android10以上HUAWEI Mate40调用谷歌原生生物识别问题 在华为的手机上(android10以上)例如测试机HUAWEI Mate40,调用谷歌原生的指纹认证时,设置可选pin和指纹时(setAllowedAuthenticators(BIOMETRIC_STRONG | DEVICE_CREDENTIAL)),发现系统指纹验证失败达到5次后,会被锁一阵子,然后再调用这个BiometricPrompt原生的类时,发现调不起系统的生物识别弹窗的,也没有错误回调。然而,设置

setNegativeButtonText(“取消”)不设置可选pin和指纹时(setAllowedAuthenticators(BIOMETRIC_STRONG | DEVICE_CREDENTIAL)时,是可以调用起系统的被锁弹窗提示的,但是在其他的手机小米上测试却没有这个问题,请问是华为系统这边对这个api方面做了什么处理嘛

测试代码:

public static void authenticate(FragmentActivity activity, BiometricPrompt.AuthenticationCallback callBack) {
    BiometricPrompt.PromptInfo promptInfo = createUi();
    BiometricPrompt prompt = new BiometricPrompt(activity, ContextCompat.getMainExecutor(activity), callBack);
    prompt.authenticate(promptInfo);
}

public static BiometricPrompt.PromptInfo createUi() {
    if(Build.VERSION.SDK_INT > Build.VERSION_CODES.Q){
        return new BiometricPrompt.PromptInfo.Builder()
                .setTitle("生物识别认证")
                .setSubtitle("请解锁")
                .setAllowedAuthenticators(BIOMETRIC_STRONG | DEVICE_CREDENTIAL)
                .build();
    } else if(Build.VERSION.SDK_INT == Build.VERSION_CODES.Q){
        return new BiometricPrompt.PromptInfo.Builder()
                .setDeviceCredentialAllowed(true)
                .setTitle("生物识别认证")
                .setSubtitle("请解锁")
                .build();
    } else {
        return new BiometricPrompt.PromptInfo.Builder()
                .setTitle("生物识别认证")
                .setSubtitle("请解锁")
                .setNegativeButtonText("取消")
                .build();
    }
}

更多关于HarmonyOS鸿蒙Next中android10以上HUAWEI Mate40调用谷歌原生生物识别问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

您好,您的问题需要进一步分析,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。

更多关于HarmonyOS鸿蒙Next中android10以上HUAWEI Mate40调用谷歌原生生物识别问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,HUAWEI Mate40调用谷歌原生生物识别功能时,可能会遇到兼容性问题。由于鸿蒙系统与Android系统的架构差异,谷歌原生生物识别API在鸿蒙系统上可能无法直接使用。鸿蒙系统提供了自己的生物识别框架,开发者需要使用鸿蒙的API来实现生物识别功能。具体来说,鸿蒙的生物识别API位于ohos.biometrics包中,开发者可以通过BiometricManagerBiometricPrompt类来实现生物识别的相关功能。如果需要调用谷歌原生生物识别API,可能需要通过兼容层或适配层来实现,但这可能会带来额外的复杂性和性能开销。

在HarmonyOS Next中,HUAWEI Mate40设备调用谷歌原生生物识别功能可能会遇到兼容性问题。由于HarmonyOS与Android系统的差异,尤其是谷歌服务框架(GMS)的缺失,原生生物识别API可能无法直接使用。建议开发者使用HarmonyOS提供的生物识别API替代,或通过适配层实现功能兼容。

回到顶部