title: Oreo background location updates
body: <p>I've been working to update an app I'm working on to use the new FusedLocationProviderClient and request background location updates when the app is not in use. I have also recently updated this app to target sdk 27, but I am having trouble keeping a service I previously used alive to be checking these location updates.</p>
  
  <p>To summarize what I'm trying to accomplish, this app allows users to save several offers from various merchants. Each of these merchants can have several locations across the country, and the app allows for users to be notified when they are in the vicinity of one of the merchants they have saved. The app sets geofences for all saved merchant locations within a certain radius of the user's present location, but the app needs to receive location updates if the user moves significantly to discard old geofences and create new ones for merchant locations more nearby to the updated location.</p>
  
  <p>Before switching to target sdk 27 and using the FusedLocationProviderClient, the app was using the LocationServices FusedLocationProviderApi to request location updates in a sticky background service started when a user enabled location based reminders in their app. The idea was to have this service running continuously in the background and re-drawing geofences whenever the location update settings specified with the FusedLocationProviderApi triggered an onLocationChanged event in the Service's listener.</p>
  
  <p>With the new SDK, background services get stopped as soon as the app is considered to be in an 'idle' state. What is the best practice/recommendation to have a background service (i.e. one that doesn't have to display a foreground message/notification to the user) that periodically receives location updates? Is there a way to accomplish this with the requestLocationUpdates method of FusedLocationProviderClient or would it be better to use a recurring FirebaseJobDispatcher with the getLastLocation callbacks of FusedLocationProviderClient to update geofences? Is there any other solution?</p>