Pregunta

Estoy tratando de diseñar mi primera aplicación Android con el uso de GPS. A partir de ahora, tengo un botón estirable que cuando se hace clic, un mensaje avisa de la tostada de la longitud y la latitud. He tratado de utilizar el telnet localhost 5554 y geo solución # número # número para alimentar en valores, pero sin resultados pantalla justo 0 0. También he tratado de manera DDMS de enviar las coordenadas GPS y me da lo mismo.

Mi pregunta es ¿qué es exactamente la forma correcta de uso de la corrección de geo y la forma de enviar DDMS coordenadas. He utilizado Location, LocationManger y LocationListener pero no estoy seguro de cuál es la mejor opción.

Código se da, por si acaso, si existe el error con el código

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button button = (Button) findViewById(R.id.track);
    button.setOnClickListener(this);
    LocationManager location =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
    Location loc = location.getLastKnownLocation(location.GPS_PROVIDER);
    updateWithNewLocation(loc);

  }

 private final LocationListener locationListener = new LocationListener() {
   public void onLocationChanged(Location location) {
     updateWithNewLocation(location);
   }

  private void updateWithNewLocation(Location l) {
  longitude = l.getLongitude();
  latitude = l.getLatitude();
  provider = l.getProvider();     
  }

    public void onClick(View v) { 
     Toast.makeText(this, "Your location is " + 
      longitude + " and " + latitude + " provided by: " + 
      provider, Toast.LENGTH_SHORT).show();          
   }     
}
¿Fue útil?

Solución

Dos cosas

1) Hacer una latitud y longitud volátil

2) Si es asi registrese como oyente al administrador de ubicación GPS

location.requestLocationUpdates (LocationManager.GPS, 100, 1, LocationListener);

Eso ayudaría a que las devoluciones de llamada enviado a su objeto LocationListener.

Se puede extraer algo de código GPS para Android muestra aquí: http://www.devx.com/wireless/Article/43005

(¡ADVERTENCIA! DevX ha añadido un aterrizaje de registro desde que he añadido este enlace!)

Otros consejos

comentar la línea  Ubicación loc = location.getLastKnownLocation (location.GPS_PROVIDER);

Y probar la aplicación mediante la actualización de GPS manualmente en DDMS

si funciona, vuelve a poner el código a continuación, Ubicación loc = location.getLastKnownLocation ( "GPS");

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top