получить текущее местоположение (GPS / Wi-Fi) - PullRequest
4 голосов
/ 23 апреля 2010

Я пытаюсь получить свое местоположение, используя это так:

LocationManager myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

Criteria criteria = new Criteria(); 
criteria.setAccuracy(Criteria.ACCURACY_FINE); 
criteria.setAltitudeRequired(false); 
criteria.setBearingRequired(false); 
criteria.setCostAllowed(true); 
criteria.setPowerRequirement(Criteria.POWER_LOW); 

String provider = myLocationManager.getBestProvider(criteria,true); 

if (provider != null) { 
    //there is a provider
    myLocationManager.requestLocationUpdates(provider, 10L, 500.0f, (LocationListener) mainContext);
    Location myCurLocation = myLocationManager.getLastKnownLocation(provider); 
            //here i'm trying to get some data from the
            //myCurLocation but 
            //myCurLocation == NULL
}

но myCurLocation всегда == NULL

Что я делаю не так?

1 Ответ

8 голосов
/ 23 апреля 2010

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

Посмотрите на этот вопрос для примера использования LocationListener.

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