В настоящее время я использую Kotlin для разработки API-приложения для Android с поддержкой BLE 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, спасибо.