/*
 * Copyright (C) 2008 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.location;

import android.os.Bundle;

Used for receiving notifications from the LocationManager when the location has changed. These methods are called if the LocationListener has been registered with the location manager service using the LocationManager.requestLocationUpdates(String, long, float, LocationListener) method.

Developer Guides

For more information about identifying user location, read the Obtaining User Location developer guide.

/** * Used for receiving notifications from the LocationManager when * the location has changed. These methods are called if the * LocationListener has been registered with the location manager service * using the {@link LocationManager#requestLocationUpdates(String, long, float, LocationListener)} * method. * * <div class="special reference"> * <h3>Developer Guides</h3> * <p>For more information about identifying user location, read the * <a href="{@docRoot}guide/topics/location/obtaining-user-location.html">Obtaining User * Location</a> developer guide.</p> * </div> */
public interface LocationListener {
Called when the location has changed.

There are no restrictions on the use of the supplied Location object.

Params:
  • location – The new location, as a Location object.
/** * Called when the location has changed. * * <p> There are no restrictions on the use of the supplied Location object. * * @param location The new location, as a Location object. */
void onLocationChanged(Location location);
Called when the provider status changes. This method is called when a provider is unable to fetch a location or if the provider has recently become available after a period of unavailability.
Params:
  • provider – the name of the location provider associated with this update.
  • status – LocationProvider.OUT_OF_SERVICE if the provider is out of service, and this is not expected to change in the near future; LocationProvider.TEMPORARILY_UNAVAILABLE if the provider is temporarily unavailable but is expected to be available shortly; and LocationProvider.AVAILABLE if the provider is currently available.
  • extras – an optional Bundle which will contain provider specific status variables.

    A number of common key/value pairs for the extras Bundle are listed below. Providers that use any of the keys on this list must provide the corresponding value as described below.

    • satellites - the number of satellites used to derive the fix
/** * Called when the provider status changes. This method is called when * a provider is unable to fetch a location or if the provider has recently * become available after a period of unavailability. * * @param provider the name of the location provider associated with this * update. * @param status {@link LocationProvider#OUT_OF_SERVICE} if the * provider is out of service, and this is not expected to change in the * near future; {@link LocationProvider#TEMPORARILY_UNAVAILABLE} if * the provider is temporarily unavailable but is expected to be available * shortly; and {@link LocationProvider#AVAILABLE} if the * provider is currently available. * @param extras an optional Bundle which will contain provider specific * status variables. * * <p> A number of common key/value pairs for the extras Bundle are listed * below. Providers that use any of the keys on this list must * provide the corresponding value as described below. * * <ul> * <li> satellites - the number of satellites used to derive the fix * </ul> */
void onStatusChanged(String provider, int status, Bundle extras);
Called when the provider is enabled by the user.
Params:
  • provider – the name of the location provider associated with this update.
/** * Called when the provider is enabled by the user. * * @param provider the name of the location provider associated with this * update. */
void onProviderEnabled(String provider);
Called when the provider is disabled by the user. If requestLocationUpdates is called on an already disabled provider, this method is called immediately.
Params:
  • provider – the name of the location provider associated with this update.
/** * Called when the provider is disabled by the user. If requestLocationUpdates * is called on an already disabled provider, this method is called * immediately. * * @param provider the name of the location provider associated with this * update. */
void onProviderDisabled(String provider); }