Android получить текущее местоположение не удалось - PullRequest
1 голос
/ 22 февраля 2012

Я не хочу узнать свое текущее местоположение, но в большинстве телефонов это не удалось. Далее мой код:

public Location getLocation(Context context)
{
    LocationManager locMan = (LocationManager) context
        .getSystemService(Context.LOCATION_SERVICE);
    Location location = locMan
        .getLastKnownLocation(LocationManager.GPS_PROVIDER);
    if (location == null)
    {
        location = locMan
            .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
    }

    return location;
}    

Ответы [ 3 ]

2 голосов
/ 22 февраля 2012

Попробуйте использовать это ... возможно, что менеджер местоположения не имеет вашего последнего местоположения

/ ** * эта функция используется для создания экземпляра менеджера местоположения и привязки его к провайдеру GPS. * менеджер местоположения будет запрашивать обновления местоположения каждые 5 минут. * /

private void subscribeToLocationUpdates() {
      this.lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
      this.lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000, 0, this);
}

public void onLocationChanged(Location location) {
    if(location != null){

        //make use of this location

    }       
}
2 голосов
/ 22 февраля 2012

Прежде всего - вы установили правильное разрешение?Разрешения на местоположение неявны - поэтому, если вы запросите точное местоположение, вы тоже получите грубое.

Следовали ли вы этим инструкциям по получению вашего местоположения?

Обычно вы не настраиваете LocationService каждый раз, когда хотите получить текущее местоположение.Вы пытались запросить обновления местоположения для себя?

Слишком мало кода, и вопрос слишком неопределенный, чтобы действительно помочь вам, извините.

0 голосов
/ 22 февраля 2012

Добавьте разрешение ACCESS_FINE_LOCATION в файл манифеста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...