Я новичок в программировании Bluetooth. Я использую методы Microsoft для Bluetooth в Windows. У меня есть датчик частоты сердечных сокращений, и я выяснил, как создавать сервисные буферы и буферы характеристик, чтобы перебирать, какие сервисы и характеристики доступны в этих сервисах.
Но как я могу получить фактическое имя устройства (например, что отображается в обычных приложениях Windows, когда вы подключаете устройство)? Например, я хочу получить что-то вроде «Датчик пульса большой компании версии 6».
Я использую C ++, Windows 8.1 и Visual Studio 2013. Я пробовал разные решения для SO, но они показывают мне, как найти информацию, специфичную для службы.
Спасибо!
Вы бы использовали BluetoothGetDeviceInfo , где имя устройства находится в .szName
член BLUETOOTH_DEVICE_INFO
Прежде всего, вам нужно добраться до адаптера Bluetooth, вызвав BluetoothAdapter.getDefaultAdapter ()
Далее вы будете вызывать startDiscovery () из адаптера Bluetooth. На этом этапе начинается процесс обнаружения, так что вы можете зарегистрировать BroadcastReceiver с ACTION_FOUND, ACTION_DISCOVERY_STARTED, ACTION_DISCOVERY_STARTED. Для каждого найденного устройства намерение будет содержать дополнительное поле EXTRA_DEVICE, содержащее объект BluetoothDevice, если только вы не хотите завершить сценарий после обнаружения HeartMonitor. Обязательно отмените регистрацию получателя в методе onDestroy.
Надеюсь это поможет. Удачи.