11 votos

¿Cómo puedo saber qué aplicación está usando mi GPS desde el fondo?

Posible duplicado:
¿Cómo comprobar qué aplicación utiliza el GPS en Galaxy Nexus?

Vi el icono de localización en la parte superior mientras estaba en la pantalla de inicio de mi Galaxy Nexus. Sólo había dos aplicaciones en ejecución y las borré ambas, pero el icono de localización seguía ahí. Descubrí que si desactivo la ubicación y la vuelvo a activar, desaparecerá, pero me gustaría saber cuál de mis aplicaciones está usando esto para poder considerar desinstalarla o cambiar una configuración.

¿Hay alguna manera de hacer esto? Supongo que tal vez una aplicación que detecte esto o alguna cosa del sistema.

2voto

KeithS Puntos 161

En primer lugar, por "claro", ¿qué quieres decir exactamente? Las superposiciones de interfaz de usuario de muchos fabricantes ofrecen formas de eliminar las aplicaciones en ejecución de las listas de acceso rápido, como la que se obtiene con una larga pulsación de la tecla de inicio, pero al hacer eso normalmente no se cierra realmente la aplicación. Android, de forma predeterminada, mantiene las aplicaciones en modo "en segundo plano" después de salir de ellas, porque es más rápido cambiar a ellas si ya están en la RAM que si las inicias "en frío".

Por lo tanto, a menos que estés "cerrando a la fuerza" aplicaciones usando la vista de Configuración o una aplicación de "task killer", cualquier aplicación que hayas estado ejecutando pero que hayas "limpiado" sigue funcionando en "modo de fondo". La mayoría de las aplicaciones hacen muy poco en el modo de fondo, para economizar en la CPU y por lo tanto en el uso de la batería, pero algunas mantienen cosas como el acceso al GPS. Cualquier aplicación social que te permita "registrarte" en algún lugar, como Facebook, Foursquare, aplicaciones de "huella", etc., es probable que lo haga, para que puedas marcar rápidamente tu ubicación actual sin esperar a que el GPS readquiera los satélites y obtenga tu ubicación.

Si estás cerrando a la fuerza o matando aplicaciones que crees que están usando GPS, y sigues viendo el icono de GPS, podría ser una de dos cosas; primero, la acción de cierre forzado no es una forma "limpia" de cerrar aplicaciones, y muchos no esperarán que se cierre a la fuerza, por lo que si cierras a la fuerza una aplicación que estaba usando GPS es posible que no limpie cosas como sus conexiones a funciones del teléfono como el GPS.

En segundo lugar, hay algunos servicios incorporados en Android, como el servicio E911, que utilizan el GPS si está disponible y que no se puede apagar. Por lo tanto, si inicias el GPS para otra cosa, uno de esos servicios puede pedirle al sistema operativo que mantenga las señales adquiridas de los satélites GPS para que puedan mantener tu ubicación por si acaso tienes que llamar al 911, hasta que apagues manualmente el GPS por completo (momento en el que los servicios recaen en métodos de localización menos granulares, como la triangulación desde torres celulares cercanas o puntos de acceso Wi-Fi conocidos).

EDITAR: Para responder a la pregunta real (concepto novedoso, lo sé), no encuentro ninguna aplicación que muestre el uso del GPS que esté disponible en Google Play y que no requiera un teléfono fijo (y/o ROM personalizada, por ejemplo CyanogenMod, etc.). La que sí encontré, Piezas de repuesto más PRO se supone que lo hace de manera indirecta, mostrando el uso de la batería de las aplicaciones instaladas con permiso para usar el GPS, pero aparte de un testimonio de un usuario aquí (más de un año de antigüedad) No puedo encontrar ninguna evidencia de que realmente haga esto ya (la versión gratuita no lo hace y ninguna de la documentación dice específicamente que lo hará), y no voy a gastar dinero para averiguarlo sólo para darte una respuesta aquí. Lo siento. Si quieres intentarlo, son sólo 1,75 dólares; haznos saber al resto de nosotros.

Lo único que puedo sugerir es buscar un administrador de aplicaciones que haga una lista de los programas que se están ejecutando en base a los permisos que requieren. Hay varios que listan las aplicaciones por permiso; aSpotCat, PermissionDog, App Permission Watcher, etc. Sin embargo, no estoy seguro de cuál de ellos también permitirá filtrar por el estado actual de ejecución (PermissionDog muestra un aviso cuando se inicia una aplicación, mostrando lo que puede hacer).

Si encuentras una, el uso es simple; si está funcionando, y necesita el GPS, es sospechoso que sea la aplicación que esté usando el GPS en este momento.

Por último, desde un punto de vista técnico, es el sistema operativo Android el que "usa" el GPS del teléfono. La mayoría de las aplicaciones, especialmente las que no requieren rooting, no pueden controlar directamente ninguna función del teléfono; en su lugar, le piden al sistema operativo Android que obtenga o configure información sobre esas funciones, utilizando los "administradores de servicios" que Android expone en su API. Una aplicación que necesita su ubicación simplemente le pedirá al servicio Administrador de Ubicación de Android su ubicación actual, solicitando opcionalmente una granularidad "gruesa" o "fina", y Android utilizará entonces los servicios de ubicación que usted le haya indicado que puede utilizar (GPS, torres celulares, ubicación de puntos de acceso Wi-Fi) para averiguarlo, devolviendo la ubicación y el método utilizado (o indicando a la aplicación que el nivel de granularidad solicitado no se pudo utilizar porque usted lo apagó). Android, AFAIK, no lleva un registro de las aplicaciones que han realizado solicitudes recientes a través de la API para sus servicios de localización (y mucho menos de las que han requerido que el servicio gaste importantes recursos para averiguarlo); sólo sabe qué aplicaciones tienen permiso para hacerlo, y siempre que al menos una de ellas se esté ejecutando y haya realizado una solicitud, Android mantiene el GPS activo.

El resultado es que lo mejor que puedes hacer es cruzar aplicaciones en funcionamiento con aplicaciones que puede usar el GPS, para averiguar qué aplicaciones puede estar usando el GPS ahora mismo. Si sólo hay un corredor que tiene el permiso necesario, es bastante fácil reducirlo. Si hay una docena de aplicaciones o servicios con ese permiso actualmente "en funcionamiento" (residentes en la RAM), es un poco más difícil (especialmente porque, como dije, algunos de estos pueden ser servicios básicos del teléfono que pueden hacer que se bloquee si intentas forzar su cierre).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X