如何检查设备是否有指纹传感器,如果没有,我怎么能证明它不?
我有这样的代码,它工作得很好上没有指纹传感器的手机,但在指纹传感器的手机不能正常工作。该文本将继续表明,手机有没有指纹。我怎样才能解决这个问题?
FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(getApplicationContext());
if (!fingerprintManagerCompat.isHardwareDetected()) {
// O dispositivo não suporta a autenticação de impressão digital
BtnActionFingerprint.setEnabled(false);
BtnActionFingerprint.setText(R.string.button_title_fingerprint_not_supported);
} else
if (!fingerprintManagerCompat.hasEnrolledFingerprints()) {
// O usuário não registrou nenhuma impressão digital para autenticar com
BtnActionFingerprint.setEnabled(false);
BtnActionFingerprint.setText(R.string.button_title_fingerprint_supported_but_unavaliable);
} else {
// Tudo está pronto para a autenticação de impressão digital
BtnActionFingerprint.setEnabled(true);
BtnActionFingerprint.setText(R.string.button_title_fingerprint_supported);
}
只要你达到这样做的:
try {
Button btn=(Button)findViewbyId(R.id.btn);
FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(MainActivity.this);
if (!fingerprintManagerCompat.isHardwareDetected()) {
// Device doesn't support fingerprint authentication
Toast.makeText(this, "device not support", Toast.LENGTH_SHORT).show();
btn.setText("Device not supported");
} else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) {
// User hasn't enrolled any fingerprints to authenticate with
Toast.makeText(this, "not enrolled", Toast.LENGTH_SHORT).show();
btn.setText("Device not Enrolled");
} else {
Toast.makeText(this, "ready to use fingerPrint", Toast.LENGTH_SHORT).show();
// Everything is ready for fingerprint authentication
btn.setText("Ready to use fingerprint");
}
}catch (Exception e){
e.printStackTrace();
Log.e("130",">>>"+e+"<<<<<");
}
也许你在清单错过权限:
<uses-permission
android:name="android.permission.USE_FINGERPRINT" />