Я создаю приложение, которое должно отслеживать местоположение, даже когда приложение находится в фоновом режиме. В основном я использую методы GoogleApiClient и LocationServices.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). Как это сделать?