Para la
localización de un usuario, Android puede utilizar GPS o las señales inalámbricas
usando la red de localización
de Android.
Lo mínimo necesario
Definir un listener encargado de recibir la información cuando se
produzca algún evento relacionado. El Listener se registra a través del método requestLocationUpdates()
de la clase LocationManager.
//Instancia de LocationManager
LocationManager locationManager =
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
//
Definimos el listener que recibirá las coordenadas
LocationListener locationListener =
newLocationListener(){
@Override
public void
onLocationChanged(Location location){
...
}
@Override
public void
onStatusChanged(String provider,int status,
Bundle
extras){}
@Override
public void
onProviderEnabled(String provider){}
@Override
public void
onProviderDisabled(String provider){}
};
//
Registro del listener en el LocationManager
//
Se indica por parámetro el proveedor (NETWORK/GPS), el
//
mínimo tiempo y mínimo cambio en distancia
entre notificaciones
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,0,0,
locationListener);
|
Añadir el permiso de acceso a la localización al AndroidManifest.xml:
<uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
Para dejar de
recibir las actualizaciones hay que eliminar el listener:
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(locationListener);
}
|
No hay comentarios:
Publicar un comentario