Search This Blog

Friday, February 8, 2013

Get the current location from the location listener


public class MainActivity extends Activity {

public TextView t;
LocationManager locationManager;
LocationListener locationListener;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = (TextView) findViewById(R.id.Text1);

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
5000, 10, locationListener);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}

private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {

t.setText("");

Toast.makeText(
getBaseContext(),
"Location changed: Lat: " + loc.getLatitude() + " Lng: "
+ loc.getLongitude(), Toast.LENGTH_SHORT).show();
String longitude = "Longitude: " + loc.getLongitude();
Log.v("long/lant", longitude);
String latitude = "Latitude: " + loc.getLatitude();
Log.v("long/lant", latitude);

String cityName = null;
Geocoder gcd = new Geocoder(getBaseContext(), Locale.getDefault());

List<Address> addresses;
try {
addresses = gcd.getFromLocation(loc.getLatitude(),
loc.getLongitude(), 1);
if (addresses.size() > 0)
System.out.println(addresses.get(0).getLocality());
cityName = addresses.get(0).getLocality(); 
} catch (IOException e) {
e.printStackTrace();
}

String s = longitude + "\n" + latitude + "\n\nMy Current City is: "
+ cityName;
t.setText(s);
}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.