2011-03-17 10 views
10

Para un proyecto personal, estoy tratando de detectar cuándo un dispositivo Android está con alguien que conduce. Inicialmente pensé en usar el GPS para determinar la velocidad promedio, pero decidí que consumiría energía y requiere que el usuario tenga el GPS habilitado en todo momento. Escuché que es posible saber cuándo alguien cambia las torres de telefonía celular (tanto en Android como en iOS), pero ¿hay una intención de transmisión para esto? Soy muy nuevo en el desarrollo de Android, así que esperaba poder registrar un receptor de transmisión para que funcione cuando creo que el dispositivo está en un automóvil en movimiento.Detectar cuando el dispositivo Android está en un automóvil en movimiento

No estoy seguro si puedo crear mis propios intentos de transmisión y supongo que no podría confiar en que un proceso en segundo plano se ejecute siempre, ya que Android puede matarlo si se necesita memoria.

Como nota al margen, observo que algunas aplicaciones, como skype, tienen un proceso en segundo plano que se reinicia incluso si fuerzo a matarlo. ¿Cómo lo hacen? Mi idea sería tener un receptor de transmisión para cuando el dispositivo se mueva, se encienda, etc. para reiniciar el proceso de fondo ... ¿es eso lo que hacen?

¡Gracias por cualquier información!

Respuesta

3

Creo que los siguientes tutoriales podrían ayudarlo un poco. Todavía no estoy seguro de si es posible detectar una actualización cambiada de ubicación en un receptor de transmisión. Pero también podría escribir su servicio (que generalmente no se eliminará de una aplicación habitual) que sondearía la información de ubicación y verificaría si se hubiera producido un cambio.

espero que esto ayude. Saludos

+0

Gracias, esos ejemplos ayudaron a encontrar una solución. – ravun

+0

link ": Desarrollo de alertas de proximidad para aplicaciones móviles que utilizan la plataforma Android" 404 no encontrado. – t0m

1

Sugeriría que el GPS le daría una mejor indicación del movimiento, ya que es probable que cambie las torres con poca frecuencia. Incluso las aplicaciones de mapeo que pueden triangular tu posición usando la señal de la torre son extremadamente inexactas. A menudo, incluso con una señal muy buena, no pueden triangular su posición mejor que dentro de 1600 m.

0

También podría mirar en preguntar al usuario si tienen un kit de Bluetooth en su coche. Si lo tienen, puede encontrar el nombre de este emparejamiento y cuando se conecta saben que están en el automóvil (o cerca de él).

2

si utiliza el servicio GOOGLE PLAY

Le da API se puede obtener información detallada sobre este

Para todas las situaciones, tales como el movimiento de un vehículo, caminando, de pie, y así sucesivamente.

Y además le proporciona el nivel de fiabilidad para cada situación

Aquí hay un enlace a la excelente explicación:

(http://developer.android.com/training/location/activity-recognition.html)

Enlace al documento:

(https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognition.html)

(https://developer.android.com/reference/com/google/android/gms/location/DetectedActivity.html)

Cuestiones relacionadas