¿Cómo detectar múltiples balizas usando la biblioteca de Altbeacon android?

Estoy utilizando la aplicación de ejemplo de AltBeacon en mi dispositivo Android: la aplicación de ejemplo proporcionada por altbeacon.org está aquí: https://github.com/AltBeacon/android-beacon-library-reference

Sin embargo, la aplicación cuando se inicia es detectar y mostrar sólo un faro. Tengo cerca de 5 balizas cerca de mi dispositivo Android. ¿Cómo puedo detectar todas las balizas?

En RangingActivity.java, me di cuenta de este método que se está llamando cuando un faro viene a la vista:

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."); } } } 

Modifiqué el iterador para leer de la colección en un bucle de tiempo como sigue:

  Beacon firstBeacon; while(beacons.iterator().hasNext()){ firstBeacon = beacons.iterator().next(); logToDisplay("The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away."); } 

Sin embargo, la aplicación se bloquea con esta modificación.

Mis preguntas:

(1) ¿Cómo puedo mostrar todas las balizas que están cerca de mi dispositivo Android?

(2) ¿Cómo puedo detectar balizas que salen de la región?

One Solution collect form web for “¿Cómo detectar múltiples balizas usando la biblioteca de Altbeacon android?”

Para 1. Creo que necesitas usar un bucle For. Me gusta esto.

 for (Beacon beacon : beacons) { logToDisplay("The beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away."); } 

Para 2. Tenía problemas para detectar eso, pero podría ser un largo tiempo de espera. Así que sea muy paciente. Creo que el código en la actividad de supervisión puede ser alterado para mostrar un mensaje para eso. O puede revisar el logcat desde un dispositivo. Un simple logToDisplay se puede utilizar dentro de la sección didExitRegion de BeaconReferenceApplication.

 public void didExitRegion(Region region) { if (monitoringActivity != null) { monitoringActivity.logToDisplay("I no longer see a beacon in the "+region.getUniqueId()); } } 
  • Problemas con el ejemplo de Kontakt.io Beacon
  • ¿Podemos convertir nuestro dispositivo Android en un faro?
  • IBeaconGap Cordova Plugin basado en RadiusNetwork Android Library
  • Cómo obtener el Id único de un Beacon usando Estimate SDK en Android
  • ¿Cómo agregar más de un faro en una sola región?
  • AltBeacon onBeaconServiceConnect no se llama
  • Android Studio - Estimate SDK - No se pudo encontrar la clase
  • Exploración de BLE Beacon de Android
  • ¿Por qué isMultipleAdvertisementSupported () devuelve false, cuando getBluetoothLeAdvertiser devuelve un objeto?
  • Cómo obtener balizas visibles desde el método RegionBootstrap AltBeacon
  • ¿Qué es exactamente txPower para Bluetooth LE y cómo se utiliza?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.