我正在为大学的一个教育项目使用 Android Hidden API。特别是,我正在玩指纹认证。我的目标是从 AuthenticationResult
中获取 Fingerprint
对象。 AuthenticationResult 有两个 getter:getCryptoObject()
和 getFingerprint()
。最后一个是隐藏的(而且 Fingerprint
类有 @hide
注解),所以我不能调用它。然后我找到了这个存储库(参见 https://github.com/anggrayudi/android-hidden-api ),所以我将 android.jar
替换到了我的 sdk 位置。这样做后,我能够访问 Fingerprint
类并调用 getFingerprint()
,但它返回 null。我想知道我的设备是否应该有一个启用了隐藏 api 的 framework.jar
版本(与我实际用来在 Android Studio 中构建应用程序的版本相同),或者我们是否无法访问这些信息(所以指纹)。
提前致谢
最佳答案
对于通过 GMS 认证的设备,您将无法在 Android 6.0+ 上访问指纹。
参见: https://source.android.com/compatibility/7.1/android-7.1-cdd.pdf
部分:7.3.10
亮点:
- 必须具有硬件支持的 keystore 实现,并在可信执行环境 (TEE) 中或在具有通往 TEE 的安全通道的芯片上执行指纹匹配。
- 必须对所有可识别的指纹数据进行加密和密码验证,以便在 Android 开源项目网站上的实现指南中记录的可信执行环境 (TEE) 之外无法获取、读取或更改这些数据。
- 不得让第 3 方应用程序区分各个指纹。
关于android - 使用Android Hidden API获取指纹信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45520664/