Bạn phải sử dụng phương thức isHardwareDetected
trên lớp FingerprintManager
.
Xác định xem phần cứng vân tay có hiện diện và hoạt động hay không. Trả về đúng nếu phần cứng có mặt và hoạt động, nếu không thì sẽ là false.
// Check if we're running on Android 6.0 (M) or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//Fingerprint API only available on from Android 6.0 (M)
FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
if (!fingerprintManager.isHardwareDetected()) {
// Device doesn't support fingerprint authentication
} else if (!fingerprintManager.hasEnrolledFingerprints()) {
// User hasn't enrolled any fingerprints to authenticate with
} else {
// Everything is ready for fingerprint authentication
}
}
Đừng quên để thêm quyền truy cập chức năng vân tay trong AndroidManifest:
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Với Thư viện Hỗ trợ
Nếu bạn không muốn kiểm tra Build.VERSION , bạn cũng có thể kiểm tra trên thiết bị thấp hơn Android 6.0 với Thư viện hỗ trợ
Thêm phụ thuộc:
compile "com.android.support:support-v4:23.0.0"
Và sử dụng lớp FingerprintManagerCompat
như thế này:
FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);
if (!fingerprintManagerCompat.isHardwareDetected()) {
// Device doesn't support fingerprint authentication
} else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) {
// User hasn't enrolled any fingerprints to authenticate with
} else {
// Everything is ready for fingerprint authentication
}
Có cách nào để ngăn chặn các ứng dụng từ việc niêm yết trên playstore trong trường hợp phần cứng không được tìm thấy hoặc không tương thích với ứng dụng? – Nirav
Đó là một câu hỏi mới vì vậy hãy thêm câu hỏi và tôi sẽ trả lời – LaurentY
Đã lưu ngày của tôi..đơn đăng tuyệt vời @LaurentY –