1

我正在尝试使用来自 android O 的新指纹手势回调。

我已经在清单中声明了这些

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

我的无障碍服务 xml 如下所示:

<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
                   android:description="@string/accessibility_service_description"
                   android:accessibilityEventTypes="typeAllMask"
                   android:accessibilityFlags="flagRequestFingerprintGestures"
                   android:accessibilityFeedbackType="feedbackAllMask"
                   android:notificationTimeout="100"
                   android:canRetrieveWindowContent="false"
                   android:canRequestEnhancedWebAccessibility="false"
                   android:settingsActivity="com.example.finger.MainActivity"/>

..然后在可访问性服务 onServiceConnected 方法中,我尝试使用以下内容注册回调

 FingerprintGestureController.FingerprintGestureCallback callback = new 
 FingerprintGestureController.FingerprintGestureCallback(){

            @Override
            public void onGestureDetectionAvailabilityChanged(boolean available) {
                LogUtil.d("available: " + available);
                super.onGestureDetectionAvailabilityChanged(available);
            }

            @Override
            public void onGestureDetected(int gesture) {
                LogUtil.d("gesture: " + gesture);
                super.onGestureDetected(gesture);
            }
        };

 FingerprintGestureController controller = 
 this.getFingerprintGestureController();
 controller.registerFingerprintGestureCallback(callback, null);

无障碍服务注册良好,上面注册回调的代码调用正常,但我从未接到 onGestureDetectionAvailabilityChanged 和 onGestureDetected 的调用

围绕它的文档有些缺乏,所以我不确定我还需要什么才能使回调正常工作。

4

1 回答 1

0

您需要添加 android:canRequestFingerprintGestures="true"到xml文件

于 2017-06-14T16:41:02.030 回答