2013-09-30 25 views
0

當我試圖通過緯度和經度通過android的地理編碼器類獲取地址時,有時會出現IOException。當我嘗試從android的地理編碼器獲取地址時服務不可用?

這很少發生,強制關閉我的應用程序。

private void locAdd(double latitude, double longitude) { 
    Geocoder geocoder = new Geocoder(ReportActivity.this, 
      Locale.getDefault()); 
    try { 
     List<Address> addresses = geocoder.getFromLocation(latitude, 
       longitude, 1); 
     Log.e("Addresses", "-->" + addresses); 
      } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

這是我用來獲取位置的代碼。代碼有問題嗎? 我該如何解決它?

logcat的

java.io.IOException: Unable to parse response from server 
    at android.location.Geocoder.getFromLocation(Geocoder.java:136) 
    at com.pstpl.crimeverify.CrimeReportActivity.locAdd(CrimeReportActivity.java:554) 
    at com.pstpl.crimeverify.CrimeReportActivity.access$10(CrimeReportActivity.java:549) 
+0

您在清單文件中添加了? –

+0

已添加 – WISHY

回答

-1

API文檔,

http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation%28double,%20double,%20int%29

說,IOException異常將發生 「如果網絡不可用或發生任何I/O問題」。

我不認爲代碼有任何問題,因爲它適用於「有時」。

順便說一下,你傳遞緯度1和經度作爲方法參數,但你使用的是經度和緯度。

+0

ohh是的抱歉,那是錯誤....我同時啓用了GPS和網絡,但仍然相同 – WISHY

+0

啓用網絡並不意味着它始終可用。 – Harikrishnan

+0

那麼解決方案是什麼? – WISHY

相關問題