FingerprintManager.isHardwareDetected () вылетает только на Android Oreo - PullRequest
0 голосов
/ 06 июня 2018

При запросе разрешения для датчика отпечатка пальца вручную для диалогового окна oreo не отображается.

Я указал разрешение USE_FINGERPRINT в манифесте, но все равно получаю исключение как

    W/System.err: java.lang.SecurityException: Must have android.permission.USE_FINGERPRINT permission.: Neither user 10190 nor current process has android.permission.USE_FINGERPRINT.
        at android.os.Parcel.readException(Parcel.java:2004)
        at android.os.Parcel.readException(Parcel.java:1950)
        at android.hardware.fingerprint.IFingerprintService$Stub$Proxy.isHardwareDetected(IFingerprintService.java:465)
        at android.hardware.fingerprint.FingerprintManager.isHardwareDetected(FingerprintManager.java:835)
        at ""ui.biometricAuth.BiometricAuth.getFingerPrintAuthError(BiometricAuth.java:174)
        at ""ui.biometricAuth.BiometricAuth.isTouchIDEnabled(BiometricAuth.java:225)
        at ""ui.usermanagement.LoginActivity.onCreate(LoginActivity.java:403)
        at android.app.Activity.performCreate(Activity.java:7036)
        at android.app.Activity.performCreate(Activity.java:7027)
 W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1231)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2864)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2989)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6753)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

Я добавил разрешение следующим образом:

<uses-permission
    android:name="android.permission.USE_FINGERPRINT"
    android:requiredFeature="false" />

, теперь после удаления android: requiredFeature = "false" и добавления только

<uses-permission android:name="android.permission.USE_FINGERPRINT" />

работало нормально для всех версий ОС.

0 голосов
/ 17 октября 2018

Чистая сборка (или просто перестройка) тоже работает.

0 голосов
/ 06 июня 2018

добавить android.permission.USE_BIOMETRIC

...