We have a requirement to schedule periodic sync jobs for an Android Application. There is no hard schedule requirement but as long as the sync runs every 6-7 hours, it should be fine (provided there is network connectivity). We're using compileSdkVersion as 22 and minSdkVersion as 15(ICS). There are a couple of solutions I could find:
- AlarmManager(does not consider network availability)
- SyncAdapter(needs a sync account)
- JobScheduler
- GcmNetworkManager
Which of the above is the best candidate and why?