La aplicación utiliza el objeto Geocoder. Funciona bien en mi stock Froyo Nexus One. Pero luego ejecuto exactamente la misma aplicación en un dispositivo diferente (una tableta Advent Vega 10 "que también ejecuta Froyo) y obtengo esta excepción: Servicio no disponible. El método que estoy usando es getFromLocationName()
, estoy construyendo contra el Android 1.6 API de Google.¿Por qué Android Geocoder arroja una excepción de "Servicio no disponible"?
soy consciente de un problema por el que esta excepción se produce en el emulador, pero sospecho que esto es diferente. ¿por qué sería ser lanzado en un dispositivo que ejecuta Froyo pero no en otro?
La aplicación es una aplicación de ubicación, y como la tableta no tiene GPS o red móvil, en un escenario donde la conexión Wi-Fi no proporciona una ubicación, el usuario debe especificarla manualmente, por lo que no podrá usar el objeto Geocoder son malas noticias.
Podría agregar una manera para que el usuario seleccione la ubicación en un mapa, pero no es ideal. Posiblemente podría usar la API de Google Maps directamente, pero estoy ansioso por comprender la naturaleza del problema primero, ya que sería bueno tener una solución más fácil.
Esperemos que en un futuro lanzamiento Android incluirá una "ubicación predeterminada" del nivel del sistema operativo para dispositivos que no sean Geocoder, por lo que las aplicaciones de reconocimiento de ubicación funcionan de forma automática en dispositivos como Google TV.
veo en la documentación que dice "La clase Geocoder requiere un servicio de back-end eso no está incluido en el marco principal de Android "pero ¿por qué un proveedor de dispositivos no lo incluiría? ¿Un error? –
¿El back-end de Geocoder se considera parte de la distribución de Android aprobada por Google? La tableta no tiene certificación de Google, por lo que no hay aplicaciones de Google Android (GMail, Market, etc.) en ella por defecto. Sospecho que es por eso. Parece que las personas en este tipo de dispositivos pueden tener que elegir la ubicación de un mapa, o quizás podría usar esa API de Maps directamente. Parece raro excluirlo, me encantaría saber por qué no está allí. –