无法解析服务器的响应 - Geocoder

时间:2013-07-30 10:59:14

标签: android

好的..我已经看到了很多问题:例如

Geocoder error java.io.IOException: Unable to parse response from server等等......没有人给我回复!

任何人都可以帮助我吗?我的应用程序工作正常几分钟,但随后在其余时间淋浴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)

2 个答案:

答案 0 :(得分:3)

我猜你正在尝试使用LocationClient类。

尝试在清单文件中添加此权限:

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

答案 1 :(得分: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()函数需要网络。因此,请确保添加网络权限。