Android LocationManager Code Example
Android Documentation for LocationManager:
This class provides access to the system location services. These services allow applications to obtain periodic updates of the device’s geographical location, or to fire an application-specified Intent when the device enters the proximity of a given geographical location.
You do not instantiate this class directly; instead, retrieve it through Context.getSystemService(Context.LOCATION_SERVICE).
LocationManager Code Example:
In Manifest.xml, add ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions:
[code language=”xml”]
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
[/code]
In the Activity file, for example MainActivity.java, add the following to the onCreate method. It initializes the LocationManager, set the Criteria, get the location and add the location to the MyLocationListener. MyLocationLister extends from LocationListener, it will be defined as an inner class in the Activity.
[code language=”java”]
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setCostAllowed(false);
String provider = locationManager.getBestProvider(criteria, false);
Location location = null;
try {
location = locationManager.getLastKnownLocation(provider);
MyLocationListener mylistener = new MyLocationListener();
if (location != null) {
// add location to the location listener for location changes
mylistener.onLocationChanged(location);
} else {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
// location updates: at least 1 meter and 500 milli seconds change
locationManager.requestLocationUpdates(provider, 500, 1, mylistener);
} catch (SecurityException e) {
Log.e("SecurityException", e.getMessage());
}
[/code]
Lastly, add the MyLocationListener in the Activity class.
[code language=”java”]
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// Do something with the location
Toast.makeText(getBaseContext(), "Location changed!", Toast.LENGTH_SHORT).show();
Log.i("Provider: ", location.getProvider());
Log.i("Latitude: ", String.valueOf(location.getLatitude()));
Log.i("Longitude: ", String.valueOf(location.getLongitude()));
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.i("onStatusChanged: ", "Do something with the status: " + status );
}
@Override
public void onProviderEnabled(String provider) {
Log.i("onProviderEnabled: ", "Do something with the provider-> " + provider);
}
@Override
public void onProviderDisabled(String provider) {
Log.i("onProviderDisabled:", "Do something with the provider-> " + provider);
}
}
[/code]
Search within Codexpedia

Search the entire web
