Периферийный идентификатор Android никогда не совпадает
У меня есть две периферийные устройства BLE (iOS и Android) и Macbook, который является центральным.
Мне уже удалось подключиться, написать, прочитать и уведомить, но у меня проблема с периферийным UUID Android.
На центральном didDiscoverPeripheral
Метод (центральный) UUID моего устройства Android никогда не остается прежним после перезагрузки приложения.
Мне нужно идентифицировать устройства, но я не могу, если UUID всегда меняется..
Есть ли у вас какие-либо идеи?
1 ответ
Периферийный режим Android будет менять свой MAC-адрес каждый раз, когда вы вызываете BluetoothLeAdvertiser.startAdvertising(). Это мера безопасности, и вы не можете ее отключить, вы можете прочитать больше в этом вопросе.
В iOS/Mac OS CoreBluetooth сгенерирует UUID для отсканированного периферийного устройства из рекламных данных, и одним из известных факторов является MAC-адрес периферийного устройства. Поэтому, если периферийное устройство Android меняет свой MAC-адрес, у вас нет возможности остановить изменение UUID на центральном Mac.
Я предлагаю вам добавить некоторые данные в рекламные данные вашего периферийного устройства Android, что поможет вам их идентифицировать.