You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Things蓝牙项目中onCharacteristicWriteRequest的@Override标红问题求助

解决@Override注解标红的问题

嘿,我来帮你搞定这个@Override标红的麻烦!这种情况通常是因为你的方法并没有真正重写父类的方法,下面是几个最可能的原因和对应的解决办法:

1. 确认你继承了正确的父类

你当前的类必须继承自 BluetoothGattServerCallback——只有这个类才包含onCharacteristicWriteRequest方法。如果你的类继承的是BluetoothGattCallback或者其他无关类,IDE就会判定这个方法不是重写,从而标红@Override。

检查你的类定义,应该是这样的:

public class CustomGattServerCallback extends BluetoothGattServerCallback {
    // 你的方法写在这里
}

2. 核对方法签名完全一致

父类的onCharacteristicWriteRequest方法签名必须和你写的完全匹配,包括参数的类型、顺序、数量,不能有任何差异。

你可以直接从父类中复制方法签名来避免错误:

@Override
public void onCharacteristicWriteRequest(BluetoothDevice device, int requestId,
                                         BluetoothGattCharacteristic characteristic,
                                         boolean preparedWrite, boolean responseNeeded,
                                         int offset, byte[] value) {
    // 你的逻辑代码
    super.onCharacteristicWriteRequest(device, requestId, characteristic, preparedWrite, responseNeeded, offset, value);
    Log.d(TAG, "onCharacteristicWriteRequest UUID: " + characteristic.getUuid().toString());
    mGattServer.notifyCharacteristicChanged(mBluetoothDevice, characteristic, true);
}

(顺便提一句:你代码里Log里的方法名拼写是onCharacteristicwriterequest,建议改成和方法名一致的驼峰式onCharacteristicWriteRequest,虽然不影响功能,但更规范)

3. 检查导入的类是否正确

确保你导入的蓝牙相关类都是Android框架自带的android.bluetooth包下的类,而不是第三方库的类。比如:

import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattServerCallback;

如果导入了错误的类,IDE会认为参数类型不匹配,进而判定方法不是重写。

4. 验证项目的SDK版本

onCharacteristicWriteRequest方法是在API Level 18中引入的,如果你的项目minSdkVersion设置低于18,也可能导致@Override标红。检查你的build.gradle(Module级别)文件,确保:

android {
    defaultConfig {
        minSdkVersion 18 // 或者更高版本
        // 其他配置
    }
}

按照上面的步骤逐一排查,应该就能解决@Override标红的问题啦!

内容的提问来源于stack exchange,提问作者Lennart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:11:25