getFingerprintGestureController返回null

时间:2018-06-07 20:44:16

标签: android android-fingerprint-api

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

以下是我服务的onCreate方法中的代码片段,似乎导致了错误(Kotlin代码,因此 fingerprintGestureController getFingerprintGestureController()调用):

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

以下错误:

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

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

1 个答案:

答案 0 :(得分:3)

所以我弄清楚我做错了什么。我只能在连接服务后致电getFingerprintGestureController()。这意味着我需要将问题代码移到onServiceConnected()方法。

此外,onServiceConnected()仅在用户在设置菜单中启用可访问性服务的权限后才会调用。一旦用户在那里启用它,服务就会自动启动。