我有一个应用程序,该应用程序具有可以在设备锁定时启动的服务,并且该服务正在启动我的应用程序的活动(即使设备锁定)。在此活动中,我使用 Google 指纹 API 来识别用户。我在两台搭载 Android 6.0.1 的设备(三星 Galaxy S6 和谷歌 LG Nexus 5X)上进行了测试,结果不同:
- 三星 Galaxy S6:在 AuthenticationCallback 的 onAuthenticationError 方法中出现错误 5 或 FINGERRINT_ERROR_CANCELED ( https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_CANCELED )
- Nexus 5X:未获得错误,但无法执行身份验证。无论用户做什么(使用不同的手指,松开手指过快......),都不会启动错误。用户只能取消对话框。
我的问题是:
- 有谁知道为什么这些行为差异?
- 有人知道我们是否可以在设备锁定的情况下使用这种身份验证方法吗?
当两个设备都被解锁以及应用程序处于后台/前台时,相同的服务/活动/身份验证工作流程可以完美运行。
谢谢!