Intereting Posts
Пропустили 60 кадров! Приложение может слишком много работать над своей основной нитью Интервал между элементами ListView Android Один экземпляр действия в android Ошибка таймаута волейбола Timer Task перестает работать после неопределенного времени в android На каких телефонах Android есть гироскоп? Эффект пульсации на выпадающем списке Spinner цветной фон (appcompat-v7 V21) Как я могу аннотировать мой метод для возврата типа видимости int в Android? Шифровать данные в Android с помощью файла public.pem RSA, сгенерированного в Ruby Android Canvas и Hardware Acceleration? Как добавить нижний колонтитул в ListView? Элементы управления воспроизведением Android VideoView Показывают «Играть» сначала вместо «Пауза», даже если файл уже воспроизводится Максимальный размер приложения для Android Пример SDK для Android + ошибка «gradle build»: org.gradle.api.tasks.TaskExecutionException: выполнение не выполнено для задачи Зачем мне нужно setRetainInstance или onSaveInstance, если я могу использовать android: configChanges = "keyboard | orientation | screenLayout"

Отпечатки пальцев Android: hasEnrolledFingerprints вызывает исключение на некоторых Samsung

Я вижу много исключений в нашем производственном приложении, когда вы включаете отпечатки пальцев от пользователей Android 6, которые я не могу воспроизвести ни на одном из моих локальных устройств Samsung. Стек:

Message: SecurityException: Permission Denial: getCurrentUser() from pid=24365, uid=10229 requires android.permission.INTERACT_ACROSS_USERS android.os.Parcel.readException in Parcel.java::1620 android.os.Parcel.readException in Parcel.java::1573 android.hardware.fingerprint.IFingerprintService$Stub$Proxy.hasEnrolledFingerprints in IFingerprintService.java::503 android.hardware.fingerprint.FingerprintManager.hasEnrolledFingerprints in FingerprintManager.java::762 android.support.v4.hardware.fingerprint.FingerprintManagerCompatApi23.a in SourceFile::39 android.support.v4.hardware.fingerprint.FingerprintManagerCompat$Api23FingerprintManagerCompatImpl.a in SourceFile::239 android.support.v4.hardware.fingerprint.FingerprintManagerCompat.a in SourceFile::66 

Это просто использует стандартный класс FingerprintManagerCompat из библиотеки поддержки, и проверка корректно работает на других устройствах.

Я не хочу добавлять это разрешение в свое приложение – похоже, это не имеет никакого отношения к отпечаткам пальцев.

Кто-нибудь сталкивался с чем-то подобным?

Я столкнулся с той же проблемой на Samsung Galaxy S6, работая под управлением Android 6.0.1

Проблема была вызвана вызовом

 fingerprintManager.hasEnrolledFingerprints() 

Я исправил его, добавив вызов для проверки оборудования раньше:

 fingerprintManager.isHardwareDetected() && mFingerprintManager.hasEnrolledFingerprints() 

Проверка на отпечатки пальцев без аппаратного обеспечения, похоже, вызывает это исключение на некоторых устройствах.