¿En qué país se encuentra actualmente el usuario?

He mirado alrededor de un poco en stackoverflow y Grupos de Google y no he encontrado realmente una respuesta para esta pregunta exacta.

Simplemente quiero saber en qué país se encuentra actualmente el usuario de un teléfono Android.

Supongo que TelephonyManager no funciona si el usuario está usando sólo wifi. ¿Es esto cierto?

Hemos intentado pasar la latitud y la longitud actuales del usuario usando android.location.Geocoder, pero es realmente escamosa. Con frecuencia devolverá resultados vacíos. A veces podemos seguir preguntándolo y eventualmente devolveremos resultados, pero es realmente feo. ¿Hay una manera más confiable?

Gracias, Rob Sz

3 Solutions collect form web for “¿En qué país se encuentra actualmente el usuario?”

Usted podría intentar la codificación inversa de Geo 🙂

http://code.google.com/apis/maps/documentation/geocoding/ 

Compruebe este enlace. El país es devuelto en JSON.

 http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false 

Sinceramente, no sé si esto funcionará en todos los escenarios, pero creo que esto es algo que puede ayudar.

EDIT: Parece que funciona un poco 🙂

Probado con mi país y parece funcionar perfectamente.

http://maps.googleapis.com/maps/api/geocode/json?latlng=6.822716,79.878159&sensor=false

Conseguirás

 { "status": "ZERO_RESULTS", "results": [ ] } 

Por ejemplo, si el usuario está en medio de un océano por casualidad: P

¿Qué pasa con el uso de un servicio de geolocalización basado en IP? Supongo que debido a diferencias regulatorias, las divisiones de red suelen ser bastante específicas para cada país, excepto en casos como VPN corporativo en las que prácticamente se conecta a la red en otro lugar.

Trate de usar un servicio web, como sugirió Chris. Aquí está una lista de algunos que harán el truco:

http://free-web-services.com/web-services/geo/ip-to-location/

Estoy usando http://www.hostip.info , que es agradable y simple.

  • Criterios de LocationManager de Android
  • Servicio de Android que no recibe Actualizaciones de ubicación
  • La API de localización de servicios de Google Play / setSmallestDisplacement no funciona
  • Utilizar GPS y proveedor de red al mismo tiempo en Android
  • ¿Cómo se mide la exactitud de ubicación en Android?
  • ¿Ha cambiado el comportamiento NETWORK_PROVIDER en Android 4.1.1?
  • ¿Cómo puedo obtener la ubicación GPS actual mediante programación en Android?
  • Cómo serializar para la clase android.location?
  • Obtener usuario actual Ubicación android
  • Android: comprobación de si la ubicación de los ajustes de Google está habilitada
  • El emulador de Android 2.3 se bloquea al actualizar la ubicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.