Android – Geocoder.getFromLocationName () не работает в устройстве ICS

У меня есть два устройства. Один из них – HTC WildFire S, а другой – HTC 1V . Я использовал Geocoder.getFromLocationName() в своем приложении. Он успешно работает в HTC Wildfire S. Но в HTC 1V я получил следующую ошибку. Почему он пришел? Как я могу это решить? Пожалуйста, кто-нибудь может мне помочь.

Код

 Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault()); //s is the address List<Address> addresses = geoCoder.getFromLocationName(s, 5); //Here i got the following Exception. 

ошибка

 06-18 16:28:17.933: W/System.err(4960): java.io.IOException: Service not Available 06-18 16:28:17.953: W/System.err(4960):at android.location.Geocoder.getFromLocationName(Geocoder.java:178) 

Вкладка

Введите описание изображения здесь

Наконец я нашел ответ: https://code.google.com/p/android/issues/detail?id=38009

Перезагрузите устройство для работы Geocoder. Надеюсь, это поможет кому-то

Примечание: некоторые говорят, что он будет работать, если вы используете Google API 16

  GeoPoint point = new GeoPoint( (int) (LATITUDE * 1E6), (int) (LONGITUDE * 1E6)); String n; public void someRandomMethod() { n = convertPointToLocation(point); } public String convertPointToLocation(GeoPoint point) { String address = ""; Geocoder geoCoder = new Geocoder( getBaseContext(), Locale.getDefault()); try { List<Address> addresses = geoCoder.getFromLocation( point.getLatitudeE6() / 1E6, point.getLongitudeE6() / 1E6, 1); if (addresses.size() > 0) { for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++) address += addresses.get(0).getAddressLine(index) + " "; } } catch (IOException e) { e.printStackTrace(); } return address; }