Android M FingerprintManager.isHardwareDetected() returns false on a Samsung Galaxy S5
Finally solved. It looks like android default API is not able to handle some Samsung devices, so the solution is to add the Samsung libraries for this issue.
You can find some documentation and the libraries here: http://developer.samsung.com/galaxy/pass
After add the libraries, you have to add a new permission to your manifest:
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
And finally, you could use this method:
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 FingerPrint API isHardwareDetected returns false for Samsung Note 4
I'm afraid the Note 4 doesn't support the Fingerprint API (just the Samsung Fingerprint). You should try your code with another device if possible.
Android FingerPrint isHardwareDetected not working
It is mandatory for Android Fingerprint API that the android version is equal or superior to Android 6.
It seems that this is a common problem with multiple Samsung devices such as Galaxy S5 running Android 6+:
Android M FingerprintManager.isHardwareDetected() returns false on a Samsung Galaxy S5
FingerPrint API isHardwareDetected always returns false
The only solution is that you can implement the Samsung Pass Api for those devices:
http://developer.samsung.com/galaxy/pass
http://img-developer.samsung.com/onlinedocs/sms/pass/index.html
android fingerprint sensor API
After a bit of investigating it seams that Samsung did not implement the Android Fingerprint API support for some of their devices, thus the FingerprintManager Class wont respond as intended. I suggest using the Samsung PASS SDK which can be found here : http://developer.samsung.com/galaxy/pass.
Related Links : Android M FingerprintManager.isHardwareDetected() returns false on a Samsung Galaxy S5
FingerPrint API isHardwareDetected always returns false
How to detect a fingerprint reader in Android Samsung Galaxy Note 4?
Samsung S5 and Note 4 are not compatible with Android's Fingerscan APIs. It always returns false for FingerprintManger.isHardwareDetected(). Where as it works well on S6, S6Edge,S7 and S7Edge.
Related Topics
Android Raw Folders - Creation and Reference
Mpandroidchart - Adding Labels to Bar Chart
Http Post Method Passing Null Values to the Server
Display Unity Scene as Sub View in Android Studio
How to Remove Extra Padding or Margin in Material Design Button
Custom Translucent Android Actionbar
Hardcoded String "Row Three", Should Use @String Resource
Android: Cloning a Drawable in Order to Make a Statelistdrawable with Filters
How to Implement Google Maps Search by Address in Android
Why Can't One Add/Remove Items from an Arrayadapter
How to Stop/Cancel Android Countdowntimer
Ask for Password Before Uninstalling Application
Mvvmcross Changing Viewmodel Within a Mvxbindablelistview
Android Ble Bluetoothgatt.Writedescriptor() Return Sometimes False