PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → PROBLEMA CON GPS EN BACKGROUND
PROBLEMA CON GPS EN BACKGROUND
Started by PILAR, Apr., 14 2021 12:06 PM - 4 replies
Posted on April, 14 2021 - 12:06 PM
Buenos días,
Tengo una consulta.
Estoy trabajando en una aplicación que necesita enviar la ubicación GPS del usuario, incluso cuando la aplicación está en segundo plano o cerrada.
He estado probando varias opciones pero ninguna funciona.
El procedimiento es una llamada al webservice, en el cual tiene que pasar la info a una base de datos y que se actualice, como comento en bastante simple, he puesto en este procedimiento que el procedimiento automático es ejecución periódica cuando la aplicación está en segundo plano. , y el procedimiento es el siguiente:
PROCEDURE posicionbackground()

dtData is DateTime
MyPosition is a geoPosition
MyPosition = GPSGetPosition()

IF gpsDisabled = True THEN
gsReport = "GPS Disabled"
dtData = SysDateTime()

ELSE IF gpsOffService = True THEN
gsReport = "GPS off service"
dtData = SysDateTime()

ELSE IF gpsUnavailable = True THEN
gsReport = "GPS Unavailable"
dtData = SysDateTime()

ELSE
gsReport = ""
dtData = ""
END

gsLatitude = MyPosition..Latitude
gsLongitude = MyPosition..Longitude
JSONResultado is JSON
vResultado is Variant
vPosicion is Variant



h est un httpRequête
h..Méthode = httpPost
h..URL = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
h..ContentType = "application/json"
h..Entête["Authorization"] = "xxxxxxxxxxxxxxxxxxxxxxxxxx"


vPosicion.Empleado = gsIdCodiEmpleatLogged
vPosicion.Dispositivo = SysIdentifier()
vPosicion.Latitud = gsLatitude
vPosicion.Longitud = gsLongitude
vPosicion.Data = SysDateTime()
vPosicion.error = gsReport
vPosicion.DataError = dtData


h..Contenu = VariantVersJSON(vPosicion)

r est un restRéponse = RESTEnvoie(h)

JSONResultado = r..Contenu

vResultado = JSONToVariant(JSONResultado)

Como comento es bastante sencillo, entiendo que no tengo que llamar al procedimiento en ningún otro lugar, porque se supone que la llamada se hace de forma automática, no sé si alguien me puede echar una mano.

Gracias de antemano.
Registered member
797 messages
Popularité : +40 (42 votes)
Posted on April, 14 2021 - 3:21 PM
Hola, no das mucha información de como haces la llamada al procedimiento o que parte es la que falla. Echale un vistazo a esto en los últimos posts

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/42805-accessbackgroundlocation-idee-geni/read.awp

Rubén
Posted on April, 14 2021 - 6:22 PM
Muchas gracias Rubén por tu respuesta.
Pues realmente no llamo al procedimiento en ningún sitio, ya que al ponerle lo de que es automático cuando esta en background, pues me indica que no hace falta que la llame. Es más si intento llamarlo me da un error y me indica que no hace falta llamarlo.
Tengo un procedimiento similar al que he posteado anteriormente, y ese procedimiento lo llamo en la pantalla principal y es para que envíe la ubicación del dispositivo, cuando este este activo, este procedimiento tiene un thread que se activa cada 30seg.
Y luego tengo este procedimiento que en principio es para que mande la info a la bd cada 15 min cuando este en background.
El error que me aparece dice que el procedimiento que tengo en la pantalla principal el de los 30seg, que tiene un invalid json format
Y no lo entiendo.

No se si me he explicado...
Registered member
797 messages
Popularité : +40 (42 votes)
Posted on April, 15 2021 - 1:56 PM
Ok, ¿Y el error es en el JSON que envias o en el que recibes?

Rubén
Registered member
797 messages
Popularité : +40 (42 votes)
Posted on April, 15 2021 - 5:18 PM