0

У меня есть две периферийные устройства BLE (iOS и Android) и Macbook, который является центральным.Android Периферийный идентификатор никогда не был таким же

У меня уже есть возможность подключения, записи, чтения и уведомления, но у меня проблема с периферийным UUID от Android.

В центре didDiscoverPeripheral метод (центральный) UUID моего устройства Android никогда не будет прежним после перезагрузки приложения.

мне нужно идентифицировать устройства, но я не могу, если UUID всегда меняю ..

У вас есть какие-нибудь идеи?

+0

(Может быть, это помогает !!) Я понятия не имею о программировании в Android, но я знаю bluetooth LE, и это звучит так, как изменение в UUID связано с тем, что тип адреса вашего устройства может быть «случайным приватным разрешимым», попробуйте изменить его на " random static " –

ответ

1

Периферийный режим Android будет менять свой MAC-адрес каждый раз, когда вы вызываете BluetoothLeAdvertiser.startAdvertising(). Это мера безопасности, и вы не можете ее отключить, вы можете прочитать больше в this so question.

На iOS/Mac OS CoreBluetooth генерирует UUID для отсканированного периферийного устройства из рекламных данных, и одним из известных факторов является адрес mac периферийного устройства. Поэтому, если периферийное устройство Android изменит свой MAC-адрес, у вас нет возможности остановить изменение UUID на центральном процессоре Mac.

Предлагаю вам добавить некоторые данные в рекламные данные вашего периферийного устройства Android, что поможет вам определить его.

+0

Я постараюсь добавить данные! Спасибо –

+0

Если вы ищете простое решение для обнаружения устройства, там есть SDK, которые могут вам помочь, поэтому вам не придется возиться с идентифицирующими устройствами и т. Д. Самостоятельно. Оформить заказ p2pkit.io или google рядом. – p2pkit

 Смежные вопросы

  • Нет связанных вопросов^_^