Member 7707516 Ответов: 0

Mbluetoothadapter.startlescan не работает с фильтром


Я определить собственный идентификатор UUID[] RX_SERVICE_UUID = новый UUID[1]; RX_SERVICE_UUID[0] = идентификатор UUID.fromString("0000E0FF-аэаэ-dd93-5656-14FE23434212"); mBluetoothAdapter.startLeScan(RX_SERVICE_UUID,mLeScanCallback).
это не сканирующее устройство BLE. withiut UUID означает mBluetoothAdapter.startLeScan(mLeScanCallback) , то это сканирование, пожалуйста, предложите.

Что я уже пробовал:

пробовал с другим устройством, но оно не работает.

David Crow

"это не сканирующее устройство BLE. "

А это значит, что именно? Создается ли исключение?

Есть ли у вас BLUETOOTH_ADMIN - разрешите?

С startLeScan() было объявлено устаревшим в API level 21, предложите использовать using BluetoothLeScanner.startScan(List, ScanSettings, ScanCallback) вместо.

Member 7707516

Спасибо за ваш ответ. У меня есть разрешение BLUETOOTH_ADMIN разрешение. Я пробовал и с этим
публичная статическая строка String_GENUINO101_ledService =
"0000EEFF-3D17-E293-8E48-14FE2E4DA111";
public final static ParcelUuid ParcelUuid_GENUINO101_ledService =
ParcelUuid.fromString(String_GENUINO101_ledService);

ScanFilter scanFilter = новый ScanFilter.Builder() .setServiceUuid(BluetoothLeService.ParcelUuid_GENUINO101_ledService).build();
Список<scanfilter&ГТ; scanFilters = новый ArrayList и Л;scanfilter&ГТ;();
scanFilters.add(scanFilter);
ScanSettings scanSettings =новые scansettings.Строитель().построить();
mBluetoothLeScanner.startScan(scanFilters, scanSettings, scanCallback);
тогда он не сканирует ни одно устройство ble. Когда я использую функцию mBluetoothLeScanner.startScan(scanCallback), то это сканирование.

Member 7707516

в приватном случае тоже
когда я использую эту функцию с методом UUID mBluetoothAdapter.startLeScan(RX_SERVICE_UUID,mLeScanCallback). Это не сканирующее устройство, когда я использую без функции UUID mBluetoothAdapter.startLeScan(mLeScanCallback), то это сканирующее устройство.

Пожалуйста, предложите.

0 Ответов