0

Я создаю приложение, которое должно отслеживать местоположение, даже когда приложение находится в фоновом режиме. В основном я использую игровые сервисы GoogleApiClient и LocationServices.FusedLocationApi.requestLocationUpdates метод для вызова IntentService.

Следующий код, как я запускать обновления местоположение на фоне в моей деятельности:Android FusedLocationApi.requestLocationUpdates на фоне: Остановка IntentService, когда приложение завершено

private void startLocationUpdatesOnBackground() { 

    mLocationRequest = LocationRequest.create() 
       .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
       .setInterval(1000) 
       .setFastestInterval(1000); 

    pendingIntent = PendingIntent.getService(this, 0, 
     new Intent(this, LocationBackgroundService.class), PendingIntent.FLAG_UPDATE_CURRENT); 

    LocationServices.FusedLocationApi. 
     requestLocationUpdates(mGoogleApiClient, mLocationRequest, pendingIntent); 
} 

Он отлично работает.
Однако, когда приложение завершается пользователем (через диспетчер задач), я хочу остановить этот IntentService (называемый LocationBackgroundService). Как я могу это сделать?

ответ

0

Try:

LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); 

http://developer.android.com/intl/es/training/location/receive-location-updates.html#stop-updates

+0

Спасибо. Это был бы правильный звонок, но откуда мне его назвать? Есть ли какой-либо ответ на вызов жизненного цикла, чтобы вызвать его из Activity/Application/IntentService, когда приложение завершено? – BeFree

+0

это зависит от того, где вы хотели его остановить. Подцепите кнопку, услугу onDestroy или где хотите. –

+0

Я до сих пор не полностью понял это, извините ... Итак, usecase выглядит так: пользователь запускает приложение, в первом сеансе активности я начинаю обновление местоположения на фоне. Когда пользователь нажимает левую кнопку Android и уничтожает процесс - есть ли у меня обратный вызов? Что-то вроде Application.onDestroy? Потому что именно тогда мне захочется удалитьLocationUpdates - в противном случае обновления местоположения будут работать даже при том, что пользователь полностью удалил приложение ... – BeFree

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