通过adb检查android设备指纹状态

时间:2017-05-17 12:23:43

标签: android appium ui-automation android-fingerprint-api

我正在使用appium自动化Android应用程序,我有一个场景需要在Fringerprint可用和不可用的设备上进行验证。

要获取设备操作系统版本,名称等设备详细信息,我使用的是adb shell命令,如

adb shell getprop ro.build.version.release
像这样,我试图获得指纹设备的道具,我得到了与指纹相关的以下道具

[ro.bootimage.build.fingerprint]: [google/angler/angler:7.1.2/N2G47O/3852959:user/release-keys]

[ro.vendor.build.fingerprint]: [google/angler/angler:7.1.2/N2G47O/3852959:user/release-keys]

[init.svc.fingerprintd]: [running]

现在需要知道哪个是正确的属性来检查

  1. 是否有指纹选项
  2. 是否启用了指纹设置(我的意思是至少添加一个手指)

1 个答案:

答案 0 :(得分:1)

您列出的前两个属性[ro.bootimage.build.fingerprint]和[ro.vendor.build.fingerprint]与指纹识别器设备无关,而与Android cryptographic fingerprint无关{ {3}}用于启动分区(ro.bootimage)和特定于供应商的软件分区(ro.vendor)。

属性[init.svc.fingerprintd]告诉您指纹守护程序(指纹)服务(svc)的当前状态(正在运行)。注册指纹和执行其他操作需要disk image(请参阅service)。

因此,您需要寻找其他方法来检查指纹选项是否可用并设置。 https://source.android.com/security/authentication/fingerprint-hal有一个公共方法hasEnrolledFingerprints(),可用于确定是否至少注册了一个指纹。您可以在应用内调用此API。

从adb shell,您可能必须直接调用指纹服务,而不是使用API​​(FingerprintManager API)。