我正在尝试使用来自 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 的调用
围绕它的文档有些缺乏,所以我不确定我还需要什么才能使回调正常工作。