Android GPS связывается только после запуска Google Map - PullRequest
0 голосов
/ 23 июля 2010

Я искал ответ, но не нашел его - мои вопросы следуют:

Я написал код, который работает с эмулятором (я отправляю локальные координаты в DDMS).

Код также работает на устройстве НО , только после запуска Google Map. Я предполагаю, что в манифесте или в коде чего-то не хватает, но я не знаю, что это такое, и я мог бы воспользоваться некоторыми советами / предложениями.

Вот фрагменты соответствующих частей Кодекса: (Я не смог понять, как правильно встраивать этот материал, чтобы он выглядел умным / организованным, но, думаю, вы поняли ...)

homeboy = (LocationManager)getSystemService(Context.LOCATION_SERVICE);    
locationListener = new MyLocationListener();
Location recentLoc = homeboy.getLastKnownLocation(LocationManager.GPS_PROVIDER);

I also have a LocationListener method (shown w/o it's four methods of checking for enabled, changed,...etc)
private class MyLocationListener implements LocationListener {
... etc.

I include this in the manifest file near the top:
<uses-permission 
android:name="android.permission.ACCESS_FINE_LOCATION" />

Итак, чего не хватает? Кроме того, как получить местоположение из Wi-Fi (как в получении местоположения любым доступным способом, кроме сохранения последнего местоположения в файл и извлечения его).

Спасибо за любой вклад

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Итак, чего не хватает?

Вы ничего не делаете для включения GPS. Радио GPS выключено большую часть времени, потому что это заряд батареи. Следовательно, getLastKnownLocation() возвращает null большую часть времени. Используйте requestLocationUpdates() или что-то еще, чтобы Android включил GPS.

0 голосов
/ 23 июля 2010

Я включаю GPS через Настройки.Разве это не должно заботиться о его включении?Я включаю его перед запуском приложения (тоже попытался подождать несколько минут).

Кажется, я не могу ответить на ваш (любой) ответ, не ответив на свой вопрос ....

...