我希望开始使用 Marshmallow Fingerprint Authentication API。我明白要请求许可,我必须使用以下方法:
ContextCompat.checkSelfPermission(getContext(), Manifest.permission.USE_FINGERPRINT);
我必须检查设备是否运行 API 级别 23 或更高级别。但在我请求许可之前,我想先检查一下设备是否真的有指纹扫描仪。我找到了以下两种方法来做这个检查:
FingerprintManager manager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
manager.isHardwareDetected();
manager.hasEnrolledFingerprints();
但是这两种方法都需要USE_FINGERPRINT
调用权限。为什么我要请求允许使用我什至不知道存在的指纹扫描仪?是否有其他方法可以确定扫描仪是否存在?或者是首先请求许可的唯一方法?