M0286_Libro Curso

3: Próximas generaciones

package com.seas.ejemplo.locationtest; import java.util.List; import android.app.Activity; import android.location.Criteria; import android.location.Location;

import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.widget.TextView; public class LocationTest extends Activity implements LocationListener { private LocationManager mgr; private TextView output; private String best; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. main ); mgr = (LocationManager) getSystemService( LOCATION_SERVICE ); output = (TextView) findViewById(R.id. output ); log(“Location providers:”); dumpProviders(); Criteria criteria = new Criteria(); best = mgr.getBestProvider(criteria, true); log(“\nBest provider is: “ + best); log(“\nLocations (starting with last known):”); Location location = mgr.getLastKnownLocation(best); dumpLocation(location); } } La llamada al método getSystemService() nos devuelve una clase LocationManager que almacenamos para su posterior uso. También hemos llamado a dumpProviders() , con el que imprimimos a todos los proveedores de posición. De esa lista seleccionaremos uno. Tenemos la opción de seleccionar el primero disponible o, como va a ser nuestro caso, usar el mejor proveedor, getBestProvider() , dependiendo del Criteria que le pasemos. Estos pueden ser restricciones de energía, coste, precisión, etc. Nosotros no le vamos a poner ninguna restricción.

153

Made with FlippingBook - Online catalogs