Alternativa múltiples escaneos WIFI - WifiManager.startScan()

  • Respuestas:0
Fabián
  • Posts del Foro: 1

30 oct. 2019 17:34:08 vía Web

Hola a todos,
Estoy desarrollando una aplicación que permita obtener la ubicación del dispositivo utilizando una red WIFI, esto es posible mediante una trilateración, que básicamente es un calculo entre las distancias y las posiciones (coordenadas) de los AP (Access Point), este tema ya lo tengo resuelto. El inconveniente es que necesito que me de la posición del dispositivo en tiempo real, y para ello es necesario realizar escaneos simultáneos de las redes WIFI cada cierto tiempo, ya que necesito saber la intensidad de la señal para calcular la distancia de cada AP con relación al dispositivo.
A partir de la versión 9.0 de Android no es posible realizar escaneos "infinitos" con WifiManager.startScan() solo nos permite realizar 4 escaneos en dos minutos, y al tener esta limitación no puedo posicionar el dispositivo de una manera constante, ya que un usuario puede moverse de un lado al otro en corto tiempo y solo se podría realizar un escaneo cada 30 segundos (para cubrir los 2 min), y una persona normal puede una distancia de 89,7m en un minuto, por lo tanto debería hacerse un escaneo cada 1.5 segundos.

Las preguntas son:

  • Existe alguna alternativa para este inconveniente?
  • Es posible hacer un calculo de la ubicación utilizando solamente
    las coordenadas de los APs y una intensidad de la señal(una
    distancia conocida y las otra no), ya que si es posible recibir la intensidad de la señal
    de manera constante cuando se esta conectado a un AP utilizando
    *RSSI_CHANGED_ACTION*.

Gracias de antemano.

Contesta el/la primero/a