Ответ 1
Android 6.0 должен "запрашивать" разрешение во время выполнения. https://developer.android.com/training/permissions/requesting.html
Опасные разрешения могут предоставить приложению доступ к конфиденциальных данных. Если ваше приложение отображает нормальное разрешение в своем манифест, система автоматически дает разрешение. Если вы перечислите опасное разрешение, пользователь должен явно дать разрешение на ваше приложение.
Даже если у вас есть <uses-permission android:name="android.permission.USE_FINGERPRINT"/>
в вашем манифесте, я понимаю, что вы должны попросить разрешения. Таким образом, похоже, что ошибка связана с тем, что ваше приложение не имеет разрешения -run time-time для использования диспетчера отпечатков пальцев.
(только 90% уверены в этом, так как сейчас я придерживаюсь 5.0, извините)
Обновление: http://developer.android.com/reference/android/Manifest.permission.html#USE_FINGERPRINT
public static final String USE_FINGERPRINT ---------- Добавлен в уровень API 23
Позволяет приложению использовать отпечатки пальцев.
Уровень защиты: обычный
Итак, похоже, вам не нужно это разрешение во время выполнения.
1) У вас есть разрешение в манифесте?
2) Вы должны поместить в свой код следующий код, чтобы проверить, не отменено ли разрешение или не указано по какой-либо причине.
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.USE_FINGERPRINT) // this might need massaged to 'android.permission.USE_FINGERPRINT'
!= PackageManager.PERMISSION_GRANTED) {
Log.d ("TEST", "You don't have permission");
}
(или что-то близкое к этому), как пример из https://developer.android.com/training/permissions/requesting.html