我刚刚更新了一个Verizion三星galaxy S5(SM-G900V)到G900VVRU2DPD1版本通过手册说明列出在
http://www.androidofficer.com/2016/06/g900vvru2dpd1-android-601-marshmallow.html
当我运行下面的代码时,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; }
原文地址:https://www.jb51.cc/android/311364.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。