我在三星S5和华为M2上遇到了一些问题。
我的华为没有API 23,但我的S5有Android 6.0和fingerPrint。
public static boolean checkHaveFingerHardware(Context ctx) {
FingerprintManager fingerprintManager;
if (Build.VERSION.SDK_INT < Global.API23) {
AppLogger.w("API < 23");
return false;
} else {
fingerprintManager = (FingerprintManager) ctx.getSystemService(Service.FINGERPRINT_SERVICE);
}
if (!fingerprintManager.isHardwareDetected()) {
AppLogger.w("Not FingerPrint");
return false;
}
return true;
}
答案 0 :(得分:2)
Android指纹API必须使Android版本与Android 6相同或更高。
这似乎是多个三星设备的常见问题,例如运行Android 6 +的Galaxy S5:
Android M FingerprintManager.isHardwareDetected() returns false on a Samsung Galaxy S5
FingerPrint API isHardwareDetected always returns false
唯一的解决方案是您可以为这些设备实施Samsung Pass Api:
http://developer.samsung.com/galaxy/pass
http://img-developer.samsung.com/onlinedocs/sms/pass/index.html