getFingerprintGestureController возвращает ноль - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь создать службу доступности, которая прослушивает жесты отпечатков пальцев, однако, когда я пытаюсь определить, доступно ли обнаружение жестов (с использованием метода isGestureDectionAvailable), мое приложение вылетает и выдает ошибку нулевого объекта,утверждая, что getFingerprintGestureController() возвращает ноль.

Вот фрагмент кода в методе onCreate моего сервиса, который, кажется, вызывает ошибку (код Котлина, поэтому fingerprintGestureController является getFingerprintGestureController() вызов):

override fun onCreate() {
    super.onCreate()
    gestureController = fingerprintGestureController
    gestureDetectionAvailable = gestureController.isGestureDetectionAvailable
    if (!gestureDetectionAvailable) {
        return
    }
    …
}

И следующая ошибка:

java.lang.NullPointerException: попытка вызвать метод интерфейса 'boolean android.accessibilityservice.IAccessibilityServiceConnection.isFingerprintGestureDetectionAvailable () 'на нулевой ссылке на объект…

Есть идеи, почему getFingerprintGestureController() не возвращает объект контроллера?Я тестирую на Pixel и предоставил доступ к приложениям в настройках.

1 Ответ

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

Итак, я понял, что я делаю не так.Я могу позвонить getFingerprintGestureController() только после того, как услуга подключена .Это означает, что мне нужно переместить код проблемы в метод onServiceConnected().

Кроме того, onServiceConnected() вызывается только после того, как сервис специальных возможностей получает разрешение от пользователя, включив его в меню настроек.Как только пользователь включит его, служба автоматически запустится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...