Что возвращает метод telephonyManager.getCellLocation()

Я использую telephonyManager.getCellLocation() и я получаю результат, который [-1,-1,0], но я не могу понять из вывода. Это какой-то тип кода местоположения, потому что я не думаю, что это своего рода лат-ланг любой позиции. заранее спасибо за любую помощь

1 ответ

Вы можете найти местоположение, используя LocationManager.NETWORK_PROVIDER вместо LocationManager.GPS_PROVIDER.NETWORK_PROVIDER будет разрешать по GSM или Wi-Fi, которые когда-либо доступны. Очевидно, что при выключенном Wi-Fi будет использоваться GSM. Имейте в виду, что использование сотовой сети с точностью до 500м.

http://developer.android.com/guide/topics/location/obtaining-user-location.html содержит действительно полезную информацию и примеры кода.

После того, как вы закончите с большей частью кода в OnCreate(), добавьте это:

// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
  // Called when a new location is found by the network location provider.
  makeUseOfNewLocation(location);
}

public void onStatusChanged(String provider, int status, Bundle extras) {}

public void onProviderEnabled(String provider) {}

public void onProviderDisabled(String provider) {}
 };

  // Register the listener with the Location Manager to receive location updates
  locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

Вы также можете сделать так, чтобы ваша деятельность реализовала класс LocationListener и, таким образом, реализовала onLocationChanged() в вашей активности. или вы можете использовать этот учебник, чтобы получить лат и ланг.

Другие вопросы по тегам