Używam przykładową aplikację AltBeacon na urządzeniu Android - aplikację próbki dostarczone przez altbeacon.org jest tutaj: https://github.com/AltBeacon/android-beacon-library-referenceJak wykrywać wiele beaconów za pomocą biblioteki Android Altbeacon?
Jednakże, aplikacja po uruchomieniu wykrywa i wyświetla tylko jedną latarnię. Mam około 5 beaconów w pobliżu mojego urządzenia z Androidem. Jak wykryć wszystkie sygnały nawigacyjne?
W RangingActivity.java zauważyłem tej metody, która jest wywoływana, gdy przychodzi światłem w oczach:
public void onBeaconServiceConnect() {
beaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
if (beacons.size() > 0) {
EditText editText = (EditText) RangingActivity.this.findViewById(R.id.rangingText);
Beacon firstBeacon = beacons.iterator().next();
logToDisplay("The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away.");
}
}
}
zmodyfikowałem iterator do odczytu z kolekcji w pętli while, co następuje:
Beacon firstBeacon;
while(beacons.iterator().hasNext()){
firstBeacon = beacons.iterator().next();
logToDisplay("The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away.");
}
Jednak aplikacja ulega awarii z tą modyfikacją.
Moje pytania:
(1) W jaki sposób mogę wyświetlić wszystkie światła ostrzegawcze, które są w pobliżu mojego urządzenia z systemem Android?
(2) Jak mogę wykryć sygnały nawigacyjne wychodzące z regionu?
Czy możesz dodać dane wyjściowe logcat po awarii na Twoje pytanie? – Joe