0

Я пишу приложение для отслеживания GPS. Я использую CommonsWare WakefulIntentService и AlarmReceiver, чтобы запланировать установку местоположений из GPS. Проблема в том, что я должен использовать метод doWakefulWork(), предназначенный для использования с синхронными процессами блокировки, где у меня есть асинхронный неблокирующий метод. Итак, как мне исправить местоположения GPS, используя onLocationChanged() в LocationListener и requestLocationUpdates() из метода doWakefulWork()?Как подождать onLocationChanged() в LocationListener в том же месте, где вызывается requestLocationUpdates()?

Решено:

Я только что узнал, что эта функция уже была реализована в LocationPoller.

ответ

0

Я использую CommonsWare WakefulIntentService и AlarmReceiver, чтобы запланировать фиксацию местоположений от GPS.

Это не будет работать.

Итак, как мне исправить местоположения GPS, используя onLocationChanged() в LocationListener и requestLocationUpdates() из метода doWakefulWork()?

В идеале вы бы этого не сделали. IntentService предназначен для синхронного синхронного вещания (например, веб-транзакций, транзакций базы данных). Он не предназначен для асинхронной вещи еще более асинхронной (а-асинхронный?) ..

Я только что узнал, что эта функция уже была реализована в LocationPoller.

Используете ли вы LocationPoller, вилка, или что-то происходит от него, используя Service для внутренне асинхронной работы является лучшим планом.