My application uses OnNmeaMessageListener to receive NMEA sentences and these messages are write to a file. The code works fine till Android 6. In Android Oreo, after screen is off, we receive the sentences continuously for ~1hr and then only few messages per hour. I tried using Foreground Service. But when app enters doze mode updates are not received continuously. How can I ensure that location updates are received every minute even when app is in doze mode?