Обнаружение Android Bluetooth BLE не видит устройствоAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Обнаружение Android Bluetooth BLE не видит устройство

Сообщение Anonymous »

Я пытаюсь обнаружить устройства Bluetooth Low Energy (BLE) и подключиться к ним в своем приложении. У меня есть реализация, которая показывает некоторые устройства и может прекрасно связываться и взаимодействовать с ними. Однако одно из моих устройств BLE (Saveo C200 LF) никогда не отображается при сканировании.
Я загрузил приложение BLE Scanner из Google Play, чтобы посмотреть, появится ли Saveo C200 в их сканирование и оно делает. Он появляется мгновенно, и их приложение может подключиться к нему и обнаружить сервисы и тому подобное.
Я всегда вижу, что в моем обнаружении появляется несколько устройств, и я могу подключиться к/ связь с другими, но я просто не могу заставить это устройство отображаться в моем обнаружении вообще, хотя оно отображается в обнаружении для приложения BLE Scanner.
Но нет что бы я ни делал, я никогда не нахожу это устройство при сканировании. Я не использую никаких фильтров. Чего мне не хватает при попытках сканирования?
private BLEScanCallback bleScanCallback = new BLEScanCallback();

public void bleStartBluetoothDiscovery() {
BluetoothAdapter adapter = getBluetoothAdapter();
if (adapter != null) {
// for bluetooth le
bleScanner = adapter.getBluetoothLeScanner();

if (bleScanner != null) {
// run the discovery for 12 seconds and then automatically stop
bleScheduleEndDiscovery(12);

List filters = null;

ScanSettings scanSettings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.build()
;

bleScanner.startScan(filters, scanSettings, this.bleScanCallback);

}
}
}

private static class BLEScanCallback extends ScanCallback {

@Override
public void onScanResult(int callbackType, ScanResult result) {
BluetoothDevice device = result.getDevice();

// the address of the Saveo C200 device, got it from the
// 3rd party BLE Scanner app that is able to see it when scanning.
String crfidscanneraddress = "DD:0D:30:5E:1A:AC";

String address = device.getAddress();
String deviceName = device.getName();
deviceName = (deviceName == null) ? "Unknown" : deviceName;

if (address.equals(crfidscanneraddress)) {
Log.d(TAG, "onScanResult: FOUND IT!!! ---> " + deviceName + " [" + address + "] ");
// I'm not just relying on this log, I'm checking through
// all of the results and my device is not found even
// with a different address.
}

Log.d(TAG, "onScanResult: " + deviceName + " [" + address + "] ");

}

// ... etc

}


Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-device
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»