studio restringir programacion para moviles medidor datos controlar consumo app aplicaciones aplicacion android gps locationmanager

restringir - medidor de datos android



Uso de datos de Internet por Android LocationManager (1)

¿El LocationManager de Android a veces usa varios megabytes de datos de Internet cuando obtiene correcciones de posición? Y si es así, ¿en qué circunstancias? ¿Puede suceder incluso cuando la aplicación que utiliza el LocationManager no tiene permiso explícito para acceder a Internet?

Pregunto esto porque recientemente noté que los datos de Internet utilizados por "Android OS" (según lo informado por la pantalla Configuración -> "Uso de datos" en mi Samsung Galaxy Note con Android 4.0.4) a veces son de 10 megabytes o más por día. La experimentación sugiere que este uso de datos solo se produce cuando ejecuto una aplicación que he escrito y que utiliza los datos de posición GPS proporcionados por el Administrador de ubicaciones. Cuando esta aplicación no se ejecuta, el "Sistema operativo Android" solo usa algunos kilobytes de datos por día.

Los únicos permisos en el manifiesto de la aplicación son "android.permission.ACCESS_FINE_LOCATION" y "android.permission.WRITE_EXTERNAL_STORAGE". No hay permiso para el acceso a internet.

El método onStart () de la actividad contiene el código:

if (!mapview .ignoreGPS ) { lm.requestLocationUpdates(LocationManager. GPS_PROVIDER , gpsMinTime , gpsMinDistance , this ); }

Se llama un código similar cuando el indicador ignoreGPS está desactivado.

También hay un método gotoLastLocation () que contiene el código:

Location l = lm.getLastKnownLocation(LocationManager. GPS_PROVIDER ); if (l == null ) { l = lm .getLastKnownLocation(LocationManager. NETWORK_PROVIDER); }

Este método solo se llama rara vez, cuando el indicador ignoreGPS está desactivado o cuando el usuario selecciona una opción de menú para ir a la última ubicación conocida.

Aparte de este método que rara vez se llama, no hay ninguna referencia a "NETWORK_PROVIDER".

¿GPS_PROVIDER usa "GPS asistido" de forma predeterminada? Si es así, ¿podría esto utilizar varios megabytes de datos? Incluso si no hay permiso de internet?

Si GPS_PROVIDER no puede obtener una solución de las señales del GPS, ¿utiliza LocationManager de forma predeterminada la red del teléfono celular? Incluso si la aplicación no tiene permiso de red? ¿Esto sería contado por el proveedor del teléfono como acceso a datos de Internet?


No, nunca, el protocolo SUPL que descarga datos de asistencia solo utiliza unos pocos kilobytes de datos. Incluso si lo ejecuta mucho durante el día, no será mucho más que decir el uso del navegador.

Google a veces carga datos de WiFi y el uso de la aplicación (espeluznante), cuando se usa el NETWORK_PROVIDER . Pero incluso eso no es mucho.

¿Puedes intentar eliminar todos los procesos en segundo plano o desinstalar mejor las aplicaciones no deseadas?

Mi mejor suposición es que podría estar utilizando un MapView que descarga mosaicos de mapas e imágenes satelitales. MapView datos son pesados