我正在从 Android BLE 库调用以下方法来配置扫描过滤器。我使用制造商 ID 和制造商数据作为过滤标准。但是,我遇到了...
我正在从 Android BLE 库调用以下方法来配置扫描过滤器。我使用制造商 ID 和制造商数据作为过滤标准。但是,我遇到了一个间歇性问题,即制造商数据不匹配的广告仍在处理中。
例如:我的制造商数据过滤标准设置为byteArrayof(0x0A,0x0A),但如果产品宣传不同的数据,例如byteArrayof(0x0A,0x0B),则过滤标准似乎受到了损害并允许这些数据通过。
我该如何解决这个问题?我认为这是一个 Android BLE 库问题?有人遇到过同样的问题吗?
public Builder setManufacturerData(int manufacturerId, byte[] manufacturerData) {
if (manufacturerData != null && manufacturerId < 0) {
throw new IllegalArgumentException("invalid manufacture id");
}
mManufacturerId = manufacturerId;
mManufacturerData = manufacturerData;
mManufacturerDataMask = null; // clear manufacturer data mask
return this;
}
```