Warum wirft der Android Geocoder eine Ausnahme "Service nicht verfügbar"?
Nutzt die app die Geocoder Objekt. Es funktioniert gut auf meinem stock Froyo Nexus One. Aber dann Laufe ich die exakt gleiche app auf einem anderen Gerät (ein Advent Vega 10" tablet auch mit Froyo) und ich bekomme diese exception: Service nicht Verfügbar. Die Methode, die ich verwende, ist getFromLocationName()
ich Baue gegen die Android 1.6 von Google-API.
Ich bin mir bewusst, von einem Problem, wo diese Ausnahme wird geworfen auf dem emulator, aber ich vermute, das ist anders. Warum würde es sein, geworfen auf ein Gerät mit Froyo aber nicht eine andere?
Die app ist ein location-app, und da das tablet keinen GPS-oder mobile-Netzwerk, in einem Szenario, in dem die WLAN-Verbindung nicht, geben Sie einen Speicherort muss der Nutzer manuell angeben, also nicht in der Lage, die Verwendung der Geocoder-Objekt ist eine schlechte Nachricht.
Ich könnte noch eine Möglichkeit für den Benutzer, wählen Sie den Standort auf einer Karte, aber es ist nicht ideal. Eventuell könnte ich die Google-Maps-API direkt, aber ich bin daran interessiert zu verstehen, die Natur des Problems zunächst als würde sein nett zu haben, eine einfachere Lösung.
Hoffentlich in einer zukünftigen Version von Android wird auch eine OS-Ebene "Standard-Speicherort" für nicht-Geocoder-Geräte, so dass location-aware apps funktionieren auf Geräten wie Google TV.
InformationsquelleAutor der Frage Ollie C | 2011-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fragte ich Google Reto Meier die Bestätigung meiner Theorie richtig war, und er sagte "Richtig. Der Geocoder ist ein Teil der Google-API-add-on, das nicht Teil des AOSP sind."
Also jedes Gerät, dass nicht mit dem Play Store, GMail, apps etc... auch fehlt der Geocoder-back-end.
InformationsquelleAutor der Antwort Ollie C
Scheint es eine andere mögliche Problemumgehung für dieses problemdie leider als Duplikat gekennzeichnet Frage, und daher möglicherweise übersehen werden. Im wesentlichen, die einen Neustart des Geräts beseitigt das problem. Hinweis: ich nannte es einen "workaround" und keine "Lösung". 🙁
InformationsquelleAutor der Antwort d60402
Einige Geräte haben keinen suport für die Geocoder-also, was Sie tun müssen, ist erstellen Sie Ihre eigenen geocoder.
Etwar benötigen Sie einen async-task Anfrage von google für die Adresse und Behandlung der json-Antwort.
Mit aquery ich tun so etwas wie dieses:
InformationsquelleAutor der Antwort Bruno Pinto
Für diejenigen, die Suche nach alternativen, Hoffentlich ist meine Antwort in einem anderen Beitrag nützlich ist.
Sie können Google Geocoding API Wann fingen die Fehler in der Geokodierung.
Weitere code => Bekommen aktuellen Standort per json
InformationsquelleAutor der Antwort Megamind
Nach verschwenden mehrere Stunden, ich bekam eine einfachste Lösung.
Ich Gerade neu gestartet, mein Gerät, und es begann zu arbeiten.
Es scheint, das problem liegt an einigen OS-level-caching-problem. Hoffe, es funktioniert auch für Ihre..
InformationsquelleAutor der Antwort Neo
Ich hatte das gleiche Problem. Ich habe folgende Funktion.
Hinweis:
InformationsquelleAutor der Antwort jafarbtech