2012-06-19 2 views
11

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

Код

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) 

Расположение Tab

enter image description here

+0

Это просто предупреждение, что геокодер нет, у вас есть настройки доступа в Интернет на One V? Геокодер нуждается в доступе в Интернет для получения результата. EDIT: Ваше приложение не рушится на этом этапе, не так ли? –

+1

Да, у меня есть разрешение на интернет. – naresh

+0

Да, но имеет ли устройство возможность подключения? Можете ли вы просмотреть веб-сайт на устройстве во время тестирования? –

ответ

-1
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; 
    } 
+1

Пожалуйста, не просто укажите код для ответа. Почему это * * ответ? –

+1

Этот код не связан с проблемой ... – UmbySlipKnot

4

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

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

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

+0

действительно ли это работает, если я использую Google API 16? с API 17 он не работает ... – UmbySlipKnot

+0

Эта ошибка появилась в Google Map API V1 .. Я пробовал это на Google Map v2 .. с некоторыми изменениями синтаксиса, и это хорошо работает на всех устройствах Android. Примечание: для Google MAp V2 вам больше не нужно импортировать API Google –

+0

. В моем приложении с V2 Map оно не работает ... В каком виде импорта вы ссылаетесь? – UmbySlipKnot

Смежные вопросы