我目前正在使用 Kotlin 开发一个支持 BLE 的 Android 应用程序,目标是 API 27。
我正在尝试覆盖android.bluetooth.BluetoothGatt. 有许多回调可用于覆盖以启用某些 BLE 事件的处理。
例如,我通过onConnectionStateChange()以下方式覆盖:
private val bluetoothGattCallback = object : BluetoothGattCallback() {
override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) {
/* do stuff */
}
这工作得很好。
我的问题源于试图覆盖onConnectionUpdated(). 此回调的定义方式onConnectionStateChange()与BLE API 源中的定义方式相同,为什么我无法覆盖它?这就是我试图覆盖它的方式(仍在BluetoothGattCallback()对象内):
fun onConnectionUpdated(gatt: BluetoothGatt, interval: Int, latency: Int, timeout: Int, status: Int) {
/* do stuff */
}
编辑:我忘了提到,当我添加override关键字时,它提供了错误消息:OnConnectionUpdated overrides nothing.。
原谅我的天真,我不经常使用 Kotlin/Java,谢谢。
一只名叫tom的猫
相关分类