2011-03-04 9 views
6

Parece que no puedo obtener el conteo de satélites cuando uso el comando geo fix a través del adb.No se puede obtener el recuento de satélites Android

La ayuda del arreglo geo lee:

geo fix <longitude> <latitude> [<altitude> [<satellites>]] 
allows you to send a simple GPS fix to the emulated system 
The parameters are: 

<longitude> longitude, in decimal degrees 
<latitude> latitude, in decimal degrees 
<altitude> optional altitude in meters 
<satellites> number of satellites being tracked (1-12) 

utilizo el siguiente comando para establecer la ubicación geográfica para desencadenar OnLocationChanged para ejecutar:

geo fix -106.1221 52.1311 514 5 

En el OnlocationChanged:

Location newestloc = loc; 
Bundle sats = newestloc.getExtras(); 
int satcount = 0; 
satcount = sats.getInt("satellites"); 

Sin embargo, cada vez que llamo a satcount, siempre obtengo 0. es el número de satélites que están siendo ssed a través de la corrección geo no contado?

¿Existen otros métodos para obtener los satélites numéricos que se ven actualmente en el GPS del teléfono?

Editar: También he probado el siguiente código así:

GpsStatus gpsstat = mlocManager.getGpsStatus(null); 
Iterable sats = gpsstat.getSatellites(); 
Iterator satI = sats.iterator(); 
     int count = 0; 
     while(satI.hasNext()){ 
      GpsSatellite gpssatellite = (GpsSatellite) satI.next(); 
      if (gpssatellite.usedInFix()){ 
      count++; 
      } 
     } 

Esto se debe al volver mínimamente 1 cada vez que tengo una solución, pero nunca cambia de 0.

Respuesta

-1

Cerrando la cuestión ya que no he podido encontrar la información y la aplicación parece funcionar bien sin el número de satélites, ya que era sólo un campo adicional que estaban mirando.

1

http://developer.android.com/reference/android/location/GpsStatus.html

intente getSatellites()

¿Con qué tipo de teléfono está probando? ¿Ha intentado comprobar qué modo lbstest regresa? Podría ser que el teléfono en sí no capte satélites.

+0

Lo he intentado también. 'int count = 0;' 'para (Iterator sats = (Iterator ) mlocManager.getGpsStatus (null) .getSatellites();' 'sats.hasNext();) {' 'count ++ ; '' sats.next(); '' } '' satcount = recuento; ' lo anterior no funciona bien, todavía devuelve 0. – Sorean

+1

estoy probando con un Samsung Galaxy S. Pero eso es una parte nota como mencioné que estoy tratando de lograr el conteo con adb. Quiero decir que se transferiría también al teléfono, pero si la aplicación lo recogió en adb, debería transferirse al teléfono. La aplicación funciona en el sentido de que detecta una corrección gps y la muestra en la pantalla (probada) pero no muestra la cantidad de satélites que detectó. – Sorean

+0

¿Puedes verificar los registros de adb? –

1

Parece que hay un error en el manejo de Android del comando geo fix en algunas versiones. Es posible que desee probar geo fix -106.1221 52.1311 514 5 12, donde el número 5 se ignora en algunas implementaciones y el 12 se toma como el número de satélites. Así que la sintaxis real en los sistemas defectuosos sería

geo fix <longitude> <latitude> [<altitude> [<dummy> <satellites>]] 
+0

Intenté esto también, no funcionó. – Sorean

Cuestiones relacionadas