Я вызываю метод ниже из библиотеки Android BLE для настройки фильтра сканирования. Я использую как идентификатор производителя, так и данные производителя в качестве критериев фильтрации. Однако я сталкиваюсь с периодической проблемой, когда объявления с несоответствующими данными производителя все еще обрабатываются.
Например: мои критерии фильтра данных производителя установлены на 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;
}
```