Cómo aumentar el período de exploración para dispositivos BLE en Android?

Yo estaba tratando de implementar el programa de exploración de faros, y quiero que los servicios de BLE android se comporten de forma similar a iOS "didRangeBeacons" método, es decir, se debe llamar cada segundo. Pero en android no hay tal método. Pero en android hay "leScanCallback" método que se llama con mucha frecuencia con un período de exploración de menos de un segundo. Así que hay alguna manera que puedo implementar mi funcionalidad en el método leScanCallback y aumentar su intervalo de período de exploración de 1 segundo, por lo que se comporta de forma similar a "didRangeBeacons" de iOS método.

* También será la mala programación para explorar continuamente faro y aumentar su intervalo de exploración en android?

Gracias por adelantado

Es importante entender que no hay soporte nativo de iBeacon en Android. El método leScanCallback Android no es en absoluto equivalente al método didRangeBeacons iOS.

El método leScanCallback simplemente le da una devolución de llamada cada vez que se ve un paquete de publicidad desde un dispositivo Bluetooth (los dispositivos con el bit de conexión establecidos en el anuncio sólo reciben una devolución de llamada la primera vez que se ve su dirección MAC hasta que detiene y reinicia el escaneo). A menos que detenga y reinicie el escaneo en un temporizador, no hay período de exploración y obtendrá devoluciones de llamada a medida que lleguen los paquetes. Esto puede ser muchas veces un segundo.

Al escribir el código abierto Android iBeacon Library , tuve que construir toda la funcionalidad desde cero para hacer una didRangeBeaconsInRegion llamada didRangeBeaconsInRegion que era el equivalente a lo que está en iOS. Para ello, la biblioteca se detiene y reinicia el escaneado una vez por segundo y almacena la lista de todos los iBeacons que se ven en el ciclo, solo llamando a la devolución de llamada con la lista de iBeacons visibles al final del ciclo. Hay muchas otras complejidades no discutidas aquí.

El código es gratuito para que lo revises y modifiques, por lo que te animamos a hacerlo si quieres rodar tu propio.

  • Exploración de fondo de iBeacon
  • Android Estimote sdk no es capaz de escanear otros beacons que los estimote
  • ¿Qué es exactamente txPower para Bluetooth LE y cómo se utiliza?
  • ¿Podemos convertir nuestro dispositivo Android en un faro?
  • Combine iBeacon bluetooth de baja energía con Android 4.3
  • ¿Cómo obtener respuestas más rápidas con AltBeacon?
  • Servicio de detector de balizas de estimación en segundo plano
  • Android Beacon Library funciona bien en un dispositivo Android 4.4, pero no en otro
  • Estimación de la seguridad de la baliza
  • Variaciones de rango de ibeacon de Radius Networks
  • Cómo identificar Eddystone URL y uid?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.