Android FingerPrint isHardwareDetected не работает
У меня проблемы с Samsung S5 и Huawei M2.
У моего Huawei нет 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;
}
1 ответ
Решение
Для API Android Fingerprint обязательно, чтобы версия Android была равной или превосходящей Android 6.
Похоже, что это общая проблема с несколькими устройствами Samsung, такими как Galaxy S5 под управлением Android 6+:
Android M FingerprintManager.isHardwareDetected () возвращает false на Samsung Galaxy S5
FingerPrint API isHardwareDetected всегда возвращает false
Единственное решение заключается в том, что вы можете реализовать Samsung Pass Api для этих устройств:
http://developer.samsung.com/galaxy/pass
http://img-developer.samsung.com/onlinedocs/sms/pass/index.html