我正在尝试使用来自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);
可访问性服务注册正常,上面的代码注册回调被称为ok,但我从来没有调用onGestureDetectionAvailabilityChanged和onGestureDetected
有关它的文档有点缺乏,所以我不确定我还需要什么才能让回调正常工作。
答案 0 :(得分:0)
您需要将android:canRequestFingerprintGestures="true"
添加到xml文件