2013-07-30 3 views
1

Хорошо .. Я видел много вопросов, для этого: напримерНе удалось разобрать ответ сервера - геокодировщиком

Geocoder error java.io.IOException: Unable to parse response from server и многие more..Nothing дает мне ответ !!

Может ли кто-нибудь мне помочь? Мое приложение работает отлично в течение нескольких минут, но затем закидывает остальные IOException времени:

 Geocoder gcd = new Geocoder(getApplicationContext(), Locale.getDefault()); 
     List<Address> addresses = null; 
     try { 
    addresses = gcd.getFromLocation(location.getLatitude(), location.getLongitude(), 1); 
    if (addresses!= null && addresses.size() > 0) 

    txtLat.setText(addresses.get(0).toString()); 

     } catch (IOException e) { 
    // TODO Auto-generated catch block 

    e.printStackTrace(); 

     } 

Мой журнал является:

 07-30 16:24:20.351: W/System.err(5170): java.io.IOException: Unable to parse response from server 
     07-30 16:24:20.351: W/System.err(5170): at android.location.Geocoder.getFromLocation(Geocoder.java:136) 
     07-30 16:24:20.351: W/System.err(5170):  at com.example.test.MainActivity.onLocationChanged(MainActivity.java:46) 
     07-30 16:24:20.351: W/System.err(5170):  at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227) 
     07-30 16:24:20.351: W/System.err(5170):  at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160) 
+0

addresses.get (0) .toString() распечатать его и посмотреть, что такое значение. –

ответ

3

Я предполагаю, что вы пытаетесь использовать класс LocationClient.

Попробуйте добавить это разрешение в файле манифеста:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Большое спасибо. Это сработало для меня. Но я не понимаю, почему! Не могли бы вы объяснить мне, что именно произошло после добавления этого разрешения? – Prachi

+1

Это разрешение необходимо для записи кеша на внешнем хранилище, чтобы сохранить пропускную способность трафика. Я рад, что смогу помочь вам :) Удачи! – ARMAGEDDON

+1

О, я вижу ... Спасибо миллион! Ты спас мой день! :) – Prachi

0

Если его из-за разрешения ошибки в приложении, то я предлагаю ниже все разрешения должны быть добавлены в AndroidManifest.xml файл, чтобы исключить приложение аварии из-за расположения Сервисы.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

Для функции getFromLocation() требуется сеть. Поэтому обеспечьте добавление сетевых разрешений.

+0

Да, ре! Все это, очевидно, было добавлено ..: P – Prachi

+1

Это сетевая проблема. Сеть, через которую вы подключаетесь, может иметь прокси-сервер, который отфильтровывает геокодер. Поэтому попробуйте использовать другую сеть. – genius

+2

Не нужно добавлять 'ACCESS_COARSE_LOCATION', как' ACCESS_FINE_LOCATION', включает те же разрешения. – Lawrence

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