https://developer.android.com/about/versions/oreo/background#migration
As per document, Google allows only below things as a background processes,
- Handling a high-priority Firebase Cloud Messaging (FCM) message.
- Receiving a broadcast, such as an SMS/MMS message. Executing a
- PendingIntent from a notification. Starting a VpnService before the
- VPN app promotes itself to the foreground.
also,
While an app is in the foreground, it can create and run both foreground and background services freely. When an app goes into the background, it has a window of several minutes in which it is still allowed to create and use services. At the end of that window, the app is considered to be idle. At this time, the system stops the app's background services, just as if the app had called the services' Service.stopSelf() methods.
Under certain circumstances, a background app is placed on a temporary whitelist for several minutes. While an app is on the whitelist, it can launch services without limitation, and its background services are permitted to run. An app is placed on the whitelist when it handles a task that's visible to the user, such as:
Query is,
My App (targetSdkVersion 26), which needs to be download a large file(~100 MB) in background (a state, app not exist in recent list even). I have create a Service
to achieve this, but as I am removing my app from recent, my download get stops. So, Google does really means, an app cannot execute a download process in background with targetSdkVersion 26?