getFingerprintGestureController 返回 null

getFingerprintGestureController is returning null

我正在尝试创建一个可侦听指纹手势滑动的辅助功能服务,但是当我尝试检测手势检测是否可用时(使用 isGestureDectionAvailable 方法),我的应用程序崩溃并给我一个空对象错误,声称 getFingerprintGestureController() 正在返回空。

这是我服务的 onCreate 方法中的代码片段,似乎是导致错误的原因(Kotlin 代码,所以 fingerprintGestureControllergetFingerprintGestureController()调用):

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

错误如下:

java.lang.NullPointerException:尝试在空对象引用上调用接口方法 'boolean android.accessibilityservice.IAccessibilityServiceConnection.isFingerprintGestureDetectionAvailable()' …

知道为什么 getFingerprintGestureController() 不返回控制器对象吗?我正在 Pixel 上进行测试,并已在设置中授予应用无障碍访问权限。

所以我弄清楚我做错了什么。一旦服务 已连接 ,我只能调用 getFingerprintGestureController()。这意味着我需要将问题代码移至 onServiceConnected() 方法。

此外,onServiceConnected() 只有在用户在设置菜单中启用无障碍服务并获得许可后才会调用。一旦用户在那里启用它,服务就会自动启动。