当我运行下面的代码时,isHarDWareDetected()返回’false’.我会期望它返回“真实”.
我已经完成的谷歌没有以任何方式导致任何信息,因为在棉花糖支持S5指纹读取器.
有人有任何关于S5指纹读取器的信息吗?
FingerprintManager manager = (FingerprintManager) getSystemService(FINGERPRINT_SERVICE); if (manager != null) { if (ActivityCompat.checkSelfPermission(this,permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) { retVal.append(INDENT).append("Fingerprint permission was not granted") .append(Eol); } else { retVal.append(INDENT).append("Fingerprint harDWare detected: ") .append(manager.isHarDWareDetected()).append(Eol); retVal.append(INDENT).append("Has Enrolled Fingerprint(s): ") .append(manager.hasEnrolledFingerprints()).append(Eol); } } else { retVal.append(INDENT).append("no FingerprintManager available").append(Eol); }解决方法 终于解决了.看起来androID的默认API不能处理一些三星设备,所以解决方案是为这个问题添加三星库.
您可以在这里找到一些文档和库:http://developer.samsung.com/galaxy/pass
添加库后,您必须向清单添加新的权限:
<uses-permission androID:name="com.samsung.androID.provIDers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
最后,您可以使用这种方法:
private boolean isFingerprintSupported() { boolean isFingerprintSupported = fingerprintManager != null && fingerprintManager.isHarDWareDetected(); if (!isFingerprintSupported && SsdkvendorCheck.isSamsungDevice()) { Spass spass = new Spass(); try { spass.initialize(context); isFingerprintSupported = spass.isFeatureEnabled(Spass.DEVICE_FINGERPRINT); } catch (SsdkUnsupportedException | UnsupportedOperationException e) { // Error handling } } return isFingerprintSupported;}总结
以上是内存溢出为你收集整理的Android M FingerprintManager.isHardwareDetected()在Samsung Galaxy S5上返回false全部内容,希望文章能够帮你解决Android M FingerprintManager.isHardwareDetected()在Samsung Galaxy S5上返回false所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)