Estoy intentando desarrollar una aplicación que utiliza GPS y me gustaría inyectar datos XTRA y referencia de tiempo al GPS para obtener una solución más rápida. Mi código es el siguiente:Inyección de datos de asistencia en el GPS
Bundle bundle = new Bundle();
boolean xtraInjection=locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER,"force_xtra_injection",bundle);
boolean timeInjection=locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER,"force_time_injection",bundle);
No importa si la conexión a Internet está activada o desactivada (sin celulares ni wifi) los booleanos xtraInjection y timeInjection son siempre verdaderas. Por lo tanto, no puedo detectar si la información de asistencia está bien inyectada en el GPS.
Cuando está habilitada la conexión Wi-Fi, el mensaje siguiente aparece registro (sin mensaje de error si wifi es hacia abajo):
I/app ( 627): timeInjection:true
....
D/GpsLocationProvider( 96): NTP server returned: 1306322421969 (WedMay 25 13:20:21 GMT+02:00 2011) reference: 338139 certainty: 77 systemtime offset: 7162
D/lib_locapi(96): loc_eng_inject_time, uncertainty = 77
Por el contrario, no hay ningún mensaje de registro relacionada con los datos de XTRA. Si los datos XTRA aún son válidos, el sistema no lo solicita? ¿Cómo puedo ver si se inyecta con éxito?
Para hacer estas pruebas también he intentado borrar datos de asistencia, pero sé que esto no está bien hecho:
Mi código:
boolean reset=locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER, "delete_aiding_data", null);
registro:
I/app ( 627): reset:false
D/lib_locapi( 96): loc_eng_ioctl for aiding data deletion returned 0, 1 for success
tengo también se intentó con la aplicación GPS STATUS y los resultados son los mismos para ambos, inyectar y eliminar.
En resumen, no sé si el problema está en mi código o algo en la implementación del controlador. ¿Hay alguna manera de obtener más información sobre estos problemas aparte de logcat? (No puedo rootear mi dispositivo).
gracias de antemano
Pregunta rápida ... ¿Por qué hay posibilidades de que haya una conexión a Internet disponible? – baash05
tuvo que rechazar, hay muchas aplicaciones que se pueden descargar que parecen hacer justamente esto, y hacen que la conexión al GPS sea más rápida. Además, aunque muchos teléfonos son el objetivo, muchas personas pueden apuntar a dispositivos que solo están conectados cuando dicen que el hardware está en la base. (pensando en aplicaciones empresariales) – baash05
Existen casos de uso válidos. Una es cuando sabes que vas a estar sin una conexión de datos.Digamos que está en el extranjero y ha deshabilitado el roaming de datos, pero tiene conectividad WiFi en algunos lugares: en su hotel, punto de acceso público o similar. En ese caso, puede descargar manualmente los datos de AGPS cuando tenga acceso a WiFi y podrá trabajar con eso durante un tiempo. Sin esto, no podrías usar AGPS y esperarías hasta 20 minutos para obtener una solución. – user149408