Получение местоположения в Android программно - PullRequest
0 голосов
/ 31 декабря 2010

Я знаю, что об этом просили тонну, поэтому мои извинения.У меня есть следующий код, и я не могу получить местоположение, всегда нулевой ответ.Я пытаюсь избежать LocationListener в этом случае, потому что я уже использую Сервис обновления, и местоположение действительно не должно быть таким хорошим, так что последнее известное местоположение достаточно хорошо.Спасибо за помощь.

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
String providers[] = {"gps", "network", "passive"};
Location loc = null;
for(String x : providers) {  
    loc = lm.getLastKnownLocation(x);
    if(loc != null) break;  
}
if(loc != null) {
    // do something, never reached
}

Ответы [ 2 ]

1 голос
/ 11 июля 2011

Я не уверен, но, возможно, это происходит потому, что вы используете эмулятор?Я помню, что пытался проверить последнее известное местоположение и у меня что-то вроде твоей ошибки.Поэтому я всегда проверяю getLastKnownLocation (provider)! = Null перед его использованием.

1 голос
/ 31 декабря 2010

У меня есть следующий код, и я не могу получить местоположение, всегда нулевой ответ.

Конечно.

Я пытаюсь избежать LocationListener в этом случае, потому что я уже использую Сервис обновления

Я понятия не имею, что это значит, но я подозреваю, что вам понадобится LocationListener, нравится вам это или нет.

Android не постоянно проверяет ваше местоположение. Особенно с GPS, это было бы ужасно для батареи. Android только проверяет ваше местоположение, когда кто-то использует requestLocationUpdates() или addProximityAlert().

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