getFingerprintGestureController 返回 null
getFingerprintGestureController is returning null
我正在尝试创建一个可侦听指纹手势滑动的辅助功能服务,但是当我尝试检测手势检测是否可用时(使用 isGestureDectionAvailable
方法),我的应用程序崩溃并给我一个空对象错误,声称 getFingerprintGestureController()
正在返回空。
这是我服务的 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 上进行测试,并已在设置中授予应用无障碍访问权限。
所以我弄清楚我做错了什么。一旦服务 已连接 ,我只能调用 getFingerprintGestureController()
。这意味着我需要将问题代码移至 onServiceConnected()
方法。
此外,onServiceConnected()
只有在用户在设置菜单中启用无障碍服务并获得许可后才会调用。一旦用户在那里启用它,服务就会自动启动。
我正在尝试创建一个可侦听指纹手势滑动的辅助功能服务,但是当我尝试检测手势检测是否可用时(使用 isGestureDectionAvailable
方法),我的应用程序崩溃并给我一个空对象错误,声称 getFingerprintGestureController()
正在返回空。
这是我服务的 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 上进行测试,并已在设置中授予应用无障碍访问权限。
所以我弄清楚我做错了什么。一旦服务 已连接 ,我只能调用 getFingerprintGestureController()
。这意味着我需要将问题代码移至 onServiceConnected()
方法。
此外,onServiceConnected()
只有在用户在设置菜单中启用无障碍服务并获得许可后才会调用。一旦用户在那里启用它,服务就会自动启动。