Por lo que entendí sobre la seguridad de Android, todas las aplicaciones están separadas por diferentes cuentas de usuario y diferentes ubicaciones del sistema de archivos.
PERO: Después de que la prueba de GPS haya fijado mi ubicación por primera vez después del encendido, todas las demás aplicaciones se arreglarán muy rápido. Mi conclusión: esto tiene que ser algo que no esté en el espacio de usuario de Android.
Entonces, ¿cómo funciona esto?
Si cada aplicación tuviera que interpretar la entrada de GPS sin procesar, sería muy tonto. Diferentes aplicaciones duplicarían el mismo esfuerzo de decodificar e interpretar la entrada del GPS para calcular una ubicación. Diferentes aplicaciones terminarían usando diferentes bibliotecas para hacerlo, por lo que cada aplicación podría terminar con una idea diferente de tu ubicación.
En cambio, el proceso de interpretación de los datos del GPS para computar con una ubicación se maneja de forma centralizada en el propio Android. El sistema Android ofrece una interfaz para que las aplicaciones consulten la ubicación sin tener que preocuparse por los detalles de si proviene de GPS, torres de telefonía celular o redes Wi-Fi.
De esta manera, solo el sistema Android tiene que calcular la ubicación, utilizando cualquier fuente posible, puede proporcionar esta ubicación a muchas aplicaciones sin duplicar el esfuerzo y (como habrás notado) cada aplicación no tiene que comenzar desde cero para calcular La locación. Las versiones más recientes de Android también hacen trucos inteligentes como dar una ubicación menos precisa a las aplicaciones que tienen el permiso de "ubicación aproximada (basada en la red)" pero no el permiso de "ubicación precisa (GPS)", independientemente de qué métodos se usaron realmente para determinar La locación.
Internamente, esto funciona con lo que se llama un servicio de sistema vinculado : un mecanismo IPC para diferentes procesos para recibir datos del servicio que realmente calcula la ubicación. El servicio se ejecuta en el espacio del usuario, no dentro del kernel y, como cualquier otra aplicación de Android, se ejecuta dentro de su propio proceso. (Solo los niveles muy bajos del controlador del receptor GPS se ejecutan dentro del kernel) . Guía para desarrolladores de Android .
ceros
t0mm13b
ceros
t0mm13b
dan hulme