isGestureDetectionAvailable () всегда возвращает FALSE на Android 28 - PullRequest
1 голос
/ 27 апреля 2019

Я создал приложение, которое позволяет пользователю управлять своим действием прокрутки с помощью датчика отпечатка пальца.

Раньше оно работало до нескольких недель назад, где я обнаружил, что метод : isGestureDetectionAvailable () всегдавозвращает «Ложь» после запуска «службы специальных возможностей»

Поскольку я получаю «isGestureDetectionAvailable ()» как всегда «Ложь», мой «registerFingerprintGestureCallback» не работает и, следовательно, все мои функциональные возможности смахивания жестов.

Может кто-нибудь, пожалуйста, помогите и укажите, что я делаю неправильно.

Вот мой код.

protected void onServiceConnected() {
    super.onServiceConnected();

 FingerprintGestureController gestureController = getFingerprintGestureController();

 Log.e(TAG, "Is available: " + gestureController.isGestureDetectionAvailable());

 FingerprintGestureController.FingerprintGestureCallback callback = new

 FingerprintGestureController.FingerprintGestureCallback() {

                public void onGestureDetectionAvailabilityChanged(boolean available) {
                    super.onGestureDetectionAvailabilityChanged(available);
                    Log.d(TAG, "onGestureDetectionAvailabilityChanged " + available);
                }


                public void onGestureDetected(int gesture) {

                    switch (gesture) {
                        case FINGERPRINT_GESTURE_SWIPE_UP:
                            scrollDown();
                            break;
                        case FINGERPRINT_GESTURE_SWIPE_DOWN:
                            scrollUp();
                            break;
                        case FINGERPRINT_GESTURE_SWIPE_RIGHT:
                            execute_swipe_right_functionality();
                            break;
                        case FINGERPRINT_GESTURE_SWIPE_LEFT:
                            execute_swipe_left_functionality();
                            break;
                        default:
                            Log.e("My Service",
                                    "Error: Unknown gesture type detected!");
                            break;
                    }
                }
            };

    gestureController.registerFingerprintGestureCallback(callback, new Handler());
}
...