Not receiving any addresses in Array List
For some reason, this Android java method will not provide me any usable
Zip codes. Every time I make a change and check the addresses array list,
it is completely empty. I have been at this for many hours now. What am I
missing?
protected String getZipCode() {
String zipCode = "00000";
LocationManager lm = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
boolean gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
Location location;
if (gpsEnabled == true) {
LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1,
locationListener);
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(latitude,
longitude, 1);
zipCode = addresses.get(0).getPostalCode();
} catch (IOException e) {
Log.v(TAG, "Exception caught!", e);
} catch (IndexOutOfBoundsException e) {
Log.v(TAG, "Exception caught!", e);
}
return zipCode;
}
else {
alertGPSDisabled();
return zipCode;
}
}
UPDATE: And here are my Android Manifest permissions
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
No comments:
Post a Comment