В настоящее время я использую библиотеку AltBeacon для разработки своего приложения для Android.
Мне нужно определить, какое рекламное устройство отправило маяк с точки зрения сканирующего устройства. Итак, я подумываю использовать MAC-адрес bluetooth для проверки рекламного устройства.
Используя библиотеку, мой обратный вызов для RangeNotifier
вызывается, когда обнаруживается набор маяков, как показано ниже:
@Override public void didRangeBeaconsInRegion(Collection beacons, Region region) { for (Beacon b : beacons) { System.out.println(b.getBluetoothAddress()); } }
После тестирования заметил, что getBluetoothAddress()
не совпадает с MAC-адресом bluetooth рекламного устройства.
На рекламном устройстве я получаю MAC-адрес Bluetooth следующим образом:
public String getMacAddress() { BluetoothAdapter.getDefaultAdapter().getAddress(); }
Поэтому мои вопросы:
- Я ошибаюсь, полагая, что
Beacon
getBluetoothAddress()
отличается от MAC-адреса bluetooth рекламодателя? Если отличается, по какому адресуBeacon
возвращается? - Как я могу узнать, что такое Beacon.getBluetoothAddress () рекламного устройства, до рекламы?
- Приветствуются любые другие предложения по идентификации рекламного устройства (кроме использования MAC-адреса Bluetooth).