我正在使用 appium 自动化 Android 应用程序,我有一个场景需要在可用和不可用的设备上进行验证。
要获取设备操作系统版本、名称等设备详细信息,我正在使用 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]
现在需要知道哪个是要检查的正确属性
您列出的前两个属性 [ro.bootimage.build.fingerprint] 和 [ro.vendor.build.fingerprint] 与指纹读取器设备无关,而是与引导分区的 Android磁盘映像的加密指纹( ro.bootimage) 和供应商特定的软件分区 (ro.vendor)。
属性 [init.svc.fingerprintd] 告诉您指纹守护程序 (fingerprintd) 服务 (svc) 的当前状态(正在运行)。需要此服务来注册指纹和执行其他操作(参见https://source.android.com/security/authentication/fingerprint-hal)。
所以你需要在别处寻找一种方法来检查指纹选项是否可用并设置。该FingerprintManager API有一个公共的方法hasEnrolledFingerprints()
,其可以被用来确定是否有至少一个指纹登记。您可以在应用程序中调用此 API。
在 adb shell 中,您可能必须直接调用指纹服务,而不是使用 API(将 Android API 函数与 ADB 一起使用)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句