If the device is running on API Level 23 or higher, JobScheduler is used. On API Levels 14-22, GcmNetworkManager is chosen if it's available, otherwise, a custom AlarmManager and BroadcastReciever implementation is used as a fallback.
{}