问题标签 [android-biometric-prompt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1709 浏览

fingerprint - 使用 BiometricPrompt 检查生物特征和密码/密码的正确流程是什么?

BiometricManager有一个canAuthenticate可以返回 4 个标志之一的方法:

现在似乎只触发该BiometricPrompt调用的结果是否是合乎逻辑的BIOMETRIC_SUCCESS,否则回退到不同的身份验证方法(即特定于应用程序的密码)。

但是如果我setDeviceCredentialAllowed(true)在 BiometricPrompt 上设置,即使检查没有返回,它仍然可以使用设备密码(我认为在这种情况下它会返回)。canAuthenticateBIOMETRIC_SUCCESSBIOMETRIC_ERROR_NONE_ENROLLED

我还可以KeyguardManager用来检查是否设置了 pin/password/pattern:

但这仅适用于 API 23+。但是,setDeviceCredentialAllowed适用于低于 23 的 API 级别。但似乎没有真正的替代方法可以检查这些旧设备上是否设置了设备密码

所以我的问题是:使用所有这些不同的选项,向用户展示适当的身份验证方法的正确流程是什么?应该如何canAuthenticateisDeviceSecure一起使用,对于低于 23 的 API 级别应该使用什么检查?

0 投票
3 回答
3187 浏览

android - 使用设备凭据时,AuthenticationCallback 中的 Android 生物识别身份验证无效变量

我使用 androidx.biometric:biometric:1.0.1一切正常,但是当我有一个没有生物识别传感器的设备(或者当用户没有设置他的指纹等)并且我在进行身份验证后尝试使用DeviceCredentials 时,我的函数输入数据无效。

首先我点击我的first按钮,进行身份验证,然后我点击我的second按钮并进行身份验证,然后android logcat是这样的:

正如您在最后一行中看到的 MyData id 和 text 无效!autneticate调用 onAuthenticationSucceeded 时函数 input(data) 不一样!

(如果您尝试对其进行测试,请务必使用 DeviceCredentials 而不是生物特征,我的意思是模式或密码,请取消设置您的指纹) 为什么数据在回调中无效?

它可以在 android 10 或指纹上正常工作

我不想使用 onSaveInstanceState。

0 投票
1 回答
1629 浏览

kotlin - Android BiometricManager 返回 BIOMETRIC_ERROR_NONE_ENROLLED 进行面部识别

我目前正在为一个项目开发生物识别库,但似乎无法使面部识别工作。

BiometricManager 适用于我尝试过的所有设备中的指纹,但是它没有检测到我的 Huawei P30 ELE-L29(EMUI 版本 10.0.0 - Android 版本 10)的任何已注册面部生物特征,并在我调用 BiometricManager 时返回 BIOMETRIC_ERROR_NONE_ENROLLED#可以验证()。这是我唯一可用的 API 版本 29 的设备,因为 Android Studio 模拟器没有实现面部识别,并且其他模拟器(Bluestacks、Nox 等)无法配置为在我的 macbook 上的 Android 10 上运行。

我希望能对这个主题有所了解,因为面部识别对于原生安卓来说是新的,我找不到任何类似的问题。我不确定这是否是这款特定手机的问题,或者我的代码是否有错误。

我的 minSdkVersion 是 23(Android 6.0 Marshmallow),我的 targetSdkVersion 是 29(Android 10 Q)。

我的(部分)实现:

0 投票
1 回答
1621 浏览

android - Android Biometrics - 选择哪种方法(回退到密码)?

我有一个具有 PIN/锁定屏幕的应用程序。为了打开应用程序,用户需要输入他的 PIN 码(他之前在应用程序中设置过)。

我想添加生物识别选项 -> 而不是输入 PIN 只需放置您的指纹。但是,您仍然应该可以选择使用 PIN 作为后备。与 Revolut、LastPass 或许多其他银行应用程序完全相同。很简单,对吧?

我查看了新的生物识别 API,它不支持回退到自定义 pin/密码(仅回退到锁定屏幕)。我可以以某种方式手动添加(当用户取消对话框时),但这会产生糟糕的用户体验(从 Google 样式对话框切换到应用程序样式屏幕)。此外,谷歌对话框有一个透明的背景(可能会泄露敏感信息),所以我需要把它放在一个单独的空白活动中(同样糟糕的体验)。我想知道银行应用程序如何计划迁移到那里?

我应该用旧方法(FingerprintManager)吗?回退到设备锁定是否足够安全?如果有人知道您的手机 PIN,他就可以访问您的所有应用程序。

0 投票
1 回答
265 浏览

androidx - 添加 androidx 生物识别 API 时出现 proguard 错误(“androidx.biometric:biometric:1.0.1”)

在 gradle 文件中添加 androidx biometric api "androidx.biometric:biometric:1.0.1" 后,我在构建发布 apk 时遇到以下错误

原因:com.android.builder.internal.aapt.v2.Aapt2Exception:Android 资源链接失败 ../release/values-v28/values-v28.xml:7:错误:找不到资源 android:attr/dialogCornerRadius。../release/values-v28/values-v28.xml:11:错误:找不到资源 android:attr/dialogCornerRadius。../release/values/values.xml:2853:错误:找不到资源 android:attr/fontVariationSettings。../release/values/values.xml:2854:错误:找不到资源 android:attr/ttcIndex。错误:链接引用失败。

我正在使用下面提到的 sdk / tools version buildToolsVersion = '28.0.3' compileSdkVersion 28 targetSdkVersion 28

我能够构建调试 apk 并且工作正常

0 投票
2 回答
5317 浏览

android - 如何使用 Biometric api 使用面部身份验证

我使用 Biometric api 使用指纹认证及其工作。我需要对面部识别做同样的事情,比如点击登录按钮而不是密码,我将使用面部认证。

那么是否可以使用 Biometric api 或者我必须使用 Open cv?

0 投票
2 回答
2115 浏览

android - android中的BiometricPrompt不支持退出按钮

我正在使用 android 提供的 BiometricPrompt 类在我们的应用程序中提供生物识别身份验证,它工作正常,但是当我点击手机的后退按钮时,会显示空白页面。相反,我希望应用程序在单击后退按钮时关闭。任何指针都会有所帮助。,

0 投票
0 回答
181 浏览

android - BiometricPrompt builder系统UI类型

我正在通过BiometricPrompt验证我的身份

系统显示的 UI 不同

在摩托罗拉(股票Android)上,我得到了BottomSheet

在 OnePlus 我得到全屏活动

我怎么知道会显示什么类型的 UI 或者我如何控制 ui

我的问题

在 Activity 过渡中面临一个大问题

在 BottomSheet UI 中,我可以看到我不想要的应用程序屏幕 UI 元素

我猜不出 GooglePay(Tez) 的表现如何

我的代码

0 投票
1 回答
279 浏览

android-biometric-prompt - BiometricManager 确定人脸识别结果与指纹

我已经开始迁移到 Android 29 的 BiometricManager 部分。我们需要根据设备支持显示不同的面部或指纹图标。尽管可以使用人脸识别,但即使以下代码在 Pixel 4 上也返回 true。

0 投票
0 回答
144 浏览

android - 在活动页面上显示生物特征身份验证对话框,而不是将其显示为警报对话框

我正在为我的应用程序实施生物识别提示。目前它的身份验证对话框显示为警报对话框。我希望对话框显示在活动页面中(我不希望它显示为警报对话框)