2012-06-19 10 views
11

Ich habe zwei Geräte. One ist HTC WildFire S und andere ist HTC 1V. Ich habe die Geocoder.getFromLocationName() in meiner Anwendung verwendet. Es läuft erfolgreich in der HTC Lauffeuer S. Aber in der HTC 1V habe ich den folgenden Fehler. warum ist es gekommen? Wie kann ich das lösen? bitte kann mir jemand helfen.android - Geocoder.getFromLocationName() funktioniert nicht in ICS-Gerät

-Code

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

Fehler

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) 

Lage Tab

enter image description here

+0

Das ist nur eine Warnung, dass der Geocoder nicht verfügbar ist, haben Sie Zugang zum Internet-Setup auf dem One V bekam? Der Geocoder benötigt einen Internetzugang, um das Ergebnis abzurufen. EDIT: Ihre App stürzt in diesem Stadium nicht ab, oder? –

+1

Ja, ich habe die Internet-Erlaubnis. – naresh

+0

Ja, aber hat das Gerät Konnektivität? Können Sie zum Zeitpunkt des Tests auf dem Gerät im Internet surfen? –

Antwort

-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

Bitte geben Sie nicht nur Code für Ihre Antwort ein. Warum ist das * die * Antwort? –

+1

Dieser Code ist nicht mit dem Problem verknüpft ... – UmbySlipKnot

4

Schließlich fand ich die Antwort: https://code.google.com/p/android/issues/detail?id=38009

Starten Sie Ihr Gerät für Geocoder neu zu arbeiten. Hoffe, dass es jemand

Hinweis hilft: manche sagen, es wird funktionieren, wenn Sie Google verwenden API 16

+0

funktioniert es wirklich, wenn ich Google API 16 verwende? mit API 17 funktioniert es nicht ... – UmbySlipKnot

+0

Dieser Fehler kam in Google Map API V1 .. ich habe es auf Google Map v2 ausprobiert .. mit etwas Syntaxänderung natürlich und es funktioniert wohl auf allen Android-Geräten. Hinweis: Für Google MAp V2 müssen Sie keine Google APIs mehr importieren –

+0

In meiner App mit V2 Map funktioniert es nicht ... Auf welche Art von Import beziehen Sie sich? – UmbySlipKnot