Я пишу приложение для Android, которое получает информацию с устройства Bluetooth. Наш клиент предположил, что Bluetooth-устройство (которое они производят) будет менять свое имя в зависимости от определенных условий - для простейшего примера его имя будет иногда "xxx-ON", а иногда "xxx-OFF". Мое приложение просто должно искать этот передатчик BT (я использую BluetoothAdapter.startDiscovery() ) и делать разные вещи в зависимости от имени, которое оно находит. Я НЕ подключаюсь к устройству Bluetooth (хотя я полагаю, что это возможно, приложение должно в конечном итоге работать с несколькими устройствами Android и несколькими передатчиками BT, поэтому я не уверен, что это будет хорошей идеей).
Мой код отлично работает для обнаружения устройств BT и поиска их имен. Кроме того, если устройство срабатывает, я могу обнаружить, что в следующий раз, когда я ищу, его там нет. Но похоже, что если он там есть и меняет имя, я подбираю старое имя - предположительно оно где-то закешировано. Даже если устройство bluetooth отключается, и мы это замечаем, в следующий раз, когда я его обнаруживаю, я все равно вижу старое имя.
Я нашел эту проблему в Google Code: здесь, но это было неясно. мне даже как использовать данный обходной путь ("попытаться подключиться"). Кто-нибудь делал это и ему повезло? Можете ли вы поделиться кодом?
Есть ли простой способ просто удалить кешированные имена и выполнить повторный поиск, чтобы всегда находить самые новые имена? Даже не простой способ был бы хорош (пишу для рутованного устройства).
Спасибо