Ich sehe viele Ausnahmen in unserer Produktions-App, wenn Fingerabdrücke von Android 6-Benutzern aktiviert werden, die ich auf keinem meiner lokalen Samsung-Geräte reproduzieren kann. Die Stacktrace ist:Android Fingerprints: hasEnrolledFingerprints löst Ausnahme bei einigen Samsungs aus
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
Dies ist nur die Standard FingerprintManagerCompat
Klasse von der Support-Bibliothek verwenden, und die Prüfung korrekt funktioniert auf anderen Geräten.
Ich möchte diese Erlaubnis nicht meiner App hinzufügen - es scheint nichts mit Fingerabdrücken zu tun zu haben.
Hat jemand auf so etwas gestoßen?
Um dieses Problem zu reproduzieren, müssen Sie Fingerabdrücke registriert haben, aber keine Bildschirmsperre: Swipe oder keine. Ansonsten gibt es kein Problem. Wie auch immer, gibt es eine Lösung für diesen Fall? – Petrakeas
@Petrakeas für das Szenario von Fingerabdrücken aktiviert, aber kein Sperrbildschirm, habe ich bereits eine Überprüfung für 'KeyguardManager.isKeyguardSecure()' – kos
In meinem S7 wurde das Problem nur reproduziert, falls 'isKeyguardSecure()' false zurückgegeben wurde. Der Aufruf der 2 Methoden in @David Medenjak löst das Problem selbst in diesem Fall. – Petrakeas