una ubicacion studio saber rastrear por obtener movil localizar google geolocalizacion exacta encontrar dispositivo como celular activado android gps location

saber - obtener ubicacion android studio 2017



Obtener la ubicación de Android a través de wifi solo no funciona (1)

Resultó que la adquisición de la ubicación tardaba mucho más de lo esperado. Alrededor de 2 minutos, creo.

Este síntoma ha sido cubierto a menudo, pero no he encontrado otra pregunta con los mismos criterios, así que aquí va ...

Estoy haciendo una aplicación que usa con éxito el GPS cuando el dispositivo tiene servicio. Tengo un dispositivo de prueba con la versión 2.3.4 de Android. No tiene SIM, por lo que no se espera el GPS. Sin embargo, puede obtener ubicación a través de WiFi en Google Maps. Sin embargo, mi aplicación no puede obtener una ubicación en este dispositivo. En un dispositivo con servicio, puedo obtener el mismo comportamiento al poner el dispositivo en modo avión y luego volver a habilitar Wifi.

En mi aplicación, tengo una clase de rastreo gps que implementa LocationListener.

Al inicio de la aplicación, se ejecuta el siguiente código:

public Location getLocation() { try { locationManager = (LocationManager) mContext .getSystemService(LOCATION_SERVICE); // getting GPS status isGPSEnabled = locationManager .isProviderEnabled(LocationManager.GPS_PROVIDER); // getting network status isNetworkEnabled = locationManager .isProviderEnabled(LocationManager.NETWORK_PROVIDER); if (!isGPSEnabled && !isNetworkEnabled) { // no network provider is enabled } else { this.canGetLocation = true; // First get location from Network Provider if (isNetworkEnabled) { Log.d(LOG_TAG, "Requesting updates"); //TODO once tested, up the time below locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this); Log.d("Network", "Network"); if (locationManager != null) { location = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); // *** location is null here *** if (location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); } } } // if GPS Enabled get lat/long using GPS Services if (isGPSEnabled) { if (location == null) { locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this); Log.d("GPS Enabled", "GPS Enabled"); if (locationManager != null) { location = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER); if (location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); } } } } } } catch (Exception e) { e.printStackTrace(); } return location; }

Ver comentario "la ubicación es nula aquí". Este es el caso al inicio y las llamadas subsiguientes minutos más tarde.

Ninguna de estas funciones de interfaz se llama alguna vez: onLocationChanged onProviderEnabled onProviderDisabled onStatusChanged

¿He manchado algo básico? Parece que la ubicación debería ser posible al menos después de esperar un poco. Y, como se mencionó, los mapas de Google funcionan en modo solo wifi en ambos dispositivos.