2015-05-17 3 views
-1

Im с использованием плавленого местоположения API И у меня есть 2 намерения:Немедленное удаление обновлений местоположения

Первая служба намерения регистрирует объект GoogleApiClient. Вторая служба намерений часто обновляет местоположение и не использует объект GoogleApiClient.

Я хочу назвать: LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient,pendingIntent);

от службы, которая становится все обновления местоположения прекратить получать местоположение сразу, но я не могу becuase mGoogleApiClient не зарегистрирован Ther.

Im путался о решении этого вопроса? Есть идеи?

+0

Итак, зарегистрируйте его там? – ianhanniballake

+0

Я думал об этом, но это странно? can not мы просто регистрируем mGoogleApiClient в одном сервисе и используем его в других сервисах? – WoW

+0

Если ваш 'mGoogleApiClient' создан в другом' IntentService', вы не сможете его использовать, так как «IntentService» будет уничтожен сразу после окончания 'onHandleIntent()' и, следовательно, вероятно, даже не существует, когда ваш второй запуск IntentService. – ianhanniballake

ответ

0

Приложение может быть подключено к GoogleApiClient в нескольких местах одновременно. Вам будет намного проще подключиться к GoogleApiClient с помощью blockingConnect() в вашем распознавании активности IntentService, чтобы вы могли позвонить по телефону removeLocationUpdates() непосредственно, когда вам нужно.

+0

Спасибо за ответ. Я попытался использовать this.stopSelf(); а в другой службе намерений, зарегистрированной в GoogleApiClient, я удалил обновления местоположения, и похоже, что он работает. Я буду обновляться после того, как я скоро его проверю. Но ваш ответ принят. – WoW

 Смежные вопросы

  • Нет связанных вопросов^_^