Estoy usando PositionSource para obtener la latitud y longitud de la ubicación del usuario a partir de los datos de GPS proporcionados por Ubuntu Touch. Sin embargo, necesito detectar si el usuario ha habilitado el GPS.
Al leer la documentación oficial de PositionSourceaquí, encontré que tiene la propiedadválidoque citando los documentos oficiales dice,
Esta propiedad es verdadera si el objeto PositionSource ha adquirido un complemento de backend válido para proporcionar datos. Si es falso, otros métodos en PositionSource no tendrán ningún efecto.
Las aplicaciones deben verificar esta propiedad para determinar si el posicionamiento está disponible y habilitado en la plataforma de ejecución y reaccionar en consecuencia.
Sin embargo, esta propiedad no parece actualizarse cuando habilito/deshabilito el servicio de ubicación en Ubuntu Touch. Intenté cambiar el estado del GPS usando la GUI (indicador de ubicación) y desde la línea de comando mediante,
stop ubuntu-location-service-trust-stored
¿Hay alguna otra propiedad que pueda rastrear para verificar si el GPS está habilitado/deshabilitado en el teléfono?
Respuesta1
Las aplicaciones no deben depender del conocimiento sobre el proveedor de posicionamiento real, sino de las estimaciones de precisión proporcionadas con las actualizaciones de posición individuales (consultehttp://developer.ubuntu.com/api/qml/sdk-14.10/QtLocation.Position/#horizontalAccuracy-prop). Con esto, los desarrolladores de aplicaciones no necesitan preocuparse por las características específicas de los sistemas de posicionamiento basados en satélites (por ejemplo, GPS, GLONASS, Beidou) y, en cambio, se centran en la tarea en cuestión.
Más aún, es posible que el subsistema de ubicación en Ubuntu ni siquiera use GPS para proporcionar estimaciones de posición, sino que dependa únicamente del posicionamiento basado en red.