Android Geocoder.getLocationFromName () throws IOException: Servicio no disponible en Device
Estoy utilizando el método Geocoder.getLocationFromName () en el emulador y mi teléfono (Nexus S con Android 4.1) y obtengo la siguiente excepción:
java.io.IOException: Service not Available
Hay una serie de preguntas acerca de esta aparición en el emulador ( ejemplo ), y la mayoría de ellos dicen que es una versión específica del emulador que tiene el problema. Sin embargo, la excepción aparece en mis AVD (2.3 y 4.1) y en mi teléfono.
- ¿Cómo notificar al usuario cuando entra en alguna región usando Geoloqi API?
- Android - Geocoder.getFromLocationName () no funciona en el dispositivo ICS
- Android - ¿Cómo obtener la ubicación actual (latitud y longitud)?
- Cómo obtener latitud y longitud de la dirección en android
- Geocodificación inversa - Servicio No disponible - Reiniciar el dispositivo que no resuelve definitivamente - criticar mi geocodificación inversa manual
Tanto mi teléfono como los AVD tienen conexión a Internet. Mi versión de la API es 16 (android 4.1), pero también intenté con los más viejos. Ambos AVD incluyen API de Google.
¿Alguna idea de lo que está pasando aquí?
Este es el fragmento de código relevante:
Geocoder myGeocoder = new Geocoder(getApplicationContext(), Locale.getDefault()); List<Address> newAddresses = myGeocoder.getFromLocationName(arg0.toString(), 10);
Y este es mi manifiesto:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.asdasd" android:versionCode="6" android:versionName="1.3.1"> <uses-sdk android:minSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <application android:icon="@drawable/ic_launcher_asdasd" android:label="@string/app_name"> <activity android:name=".AsdasdActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation" /> </application> </manifest>
- Android límite máximo para geofences?
- ¿Cómo puedo implementar un geocodificador sin conexión para una sola ciudad utilizando datos OSM en android?
- ¿Se eliminan las Geofencias de Android si la aplicación es eliminada por el usuario?
- android obtener el nombre de ubicación actual
- Transiciones de transición de geofence de Android
- Android geopoint de la localidad / localidad
- El geocodificador no siempre devuelve un valor
- ¿Por qué se ignora el parámetro de consulta `sll` para una URL de Maps (tipo de)?
Asegúrese de que el objetivo de creación de la aplicación esté establecido en una de las API de Google y no simplemente en Android 4.0 (o similar). Puede cambiar esta configuración en Eclipse haciendo clic con el botón derecho del ratón en su proyecto y seleccionando "Propiedades" y luego "Android". Como alternativa, simplemente puede editar el archivo project.properties
en algo como lo siguiente:
# Project target target=Google Inc.:Google APIs:16
La razón es que la clase Geocoder
está presente en el marco principal de Android, pero depende del código aportado por las API de Google para funcionar correctamente. Incluso si su AVD incluye las API de Google, su proyecto todavía debe construirse en relación con esa meta de compilación específica.
- Eclipse androide logcat mostrando todo
- ¿La variable estática es realmente segura para intercambiar datos entre actividades?