Вот в чем проблема. Пользователь запускал мое приложение ранее, обнаружил и соединил его с медицинским устройством Bluetooth с низким энергопотреблением. Это все, с чем работает приложение, — это медицинские устройства. Я отслеживаю это устройство, поэтому приложение может автоматически повторно подключаться к этому устройству, пока приложение работает.
Если пользователь выходит из приложения или выключает и снова включает Android и перезапускает приложение, я хотел бы настроить автоматическое повторное подключение к этим сопряженным устройствам. В классическом использовании HDP это делается автоматически Android. В БТЛЭ такого нет! Итак, что мне нужно сделать, это просмотреть список сопряженных устройств и добавить их в мой список известных устройств.
Но вот проблема. В BTLE нет способа узнать, что это за устройство. Когда я проверяю BluetoothDevice.getBluetoothClass().getDeviceClass() или .getMajorDeviceClass(), все они дают один и тот же результат: 0x1F00, что означает «БЕЗ КАТЕГОРИИ». Поэтому, если кто-то подключил наушники BTLE, я включу их в свой список.
Есть ли способ получить класс или категорию устройства BTLE, не сохраняя кучу вещей в файл самостоятельно? Сохранение адресов BT не будет работать, поскольку устройства BTLE могут использовать случайную адресацию (хотя большинство из них этого не делают).