Наскоро започнах да играя с няколко маяка на Kontakt и моя телефон с Android (LG L30).
Добавих регион по подразбиране за откриване на всички маяци:
private static final Region ALL_BEACONS_REGION = Region.EVERYWHERE;
И инициализирах нов monitoringListener. Съответният код:
@Override
public void onBeaconsUpdated(Region region, List<BeaconDevice> list) {
List<BeaconDevice> beacons = new ArrayList<BeaconDevice>();
Iterator i = list.iterator();
while (i.hasNext()){
BeaconDevice beacon = (BeaconDevice)i.next();
if(beacon.getUniqueId() != null) {
beacons.add(beacon);
}
}
}
Докато отстранявах грешки, забелязах, че понякога uniqueId е нула. Ето защо проверявам дали е нула, но пак ми се струва много странно. Това често ли е или има грешка в моя код? И как мога уникално да идентифицирам маяк, ако името е нула?