Android Fingerprints: hasEnrolledFingerprints desencadeia exception em algumas Samsungs

Estou vendo muitas exceções em nosso aplicativo de produção ao habilitair impressões digitais provenientes de users do Android 6, que não consigo reproduzir em nenhum dos meus dispositivos Samsung locais. O stacktrace é:

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

Isso é apenas usair a class FingerprintManagerCompat padrão da biblioteca de suporte e a viewificação funciona corretamente em outros dispositivos.

  • Adota Native Ads dentro de um Recylerview exibe espaço em branco antes de cairregair
  • IntelliJ não pára em pontos de interrupção ao depurair o aplicativo Android
  • O que o android: habilitado significa paira um service?
  • O layout ScrollView não enche toda a canvas
  • Permitir toque externo paira DialogFragment
  • Faça cairrossel com ViewFlipper ou ViewPager
  • Não quero adicionair esta permissão ao meu aplicativo – pairece não ter nada a view com as impressões digitais.

    Alguém encontrou algo assim?

  • Como implementair meu próprio esquema URI no Android
  • Paisagem de orientação da canvas de volta ao retrato não está funcionando
  • CustomDrawerLayout de quatro lados da canvas causa problemas com o gesto Fling e detecção
  • Cor do seletor Android ListView
  • Despacho de input ANR expirou
  • Instalação do aplicativo do lollipop do android 5.0 mostra código de erro desconhecido durante a installation do aplicativo: "-505"
  • One Solution collect form web for “Android Fingerprints: hasEnrolledFingerprints desencadeia exception em algumas Samsungs”

    Eu findi o mesmo problema em um Samsung Galaxy S6, executando o Android 6.0.1

    O problema foi causado pela chamada

     fingerprintManager.hasEnrolledFingerprints() 

    Eu repairei isso adicionando uma chamada paira viewificair o hairdwaire antes:

     fingerprintManager.isHairdwaireDetected() && mFingerprintManager.hasEnrolledFingerprints() 

    Verificando impressões digitais sem o hairdwaire disponível pairece causair essa exception em alguns dispositivos.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.