I have a sync adapter running periodically to upload/download data to a server.
Despite the sync completing successfully, the Android sync manager is continually rescheduling the sync, even when no work was actually done as there was nothing new to sync.
Examining SyncResult object:
SyncResult.toDebugString()
returns empty string
SyncResult.madeSomeProgress()
returns false if nothing changed or true if we made some changes (as to be expected)
SyncResult.hasError()
returns false
It's a fairly standard implementation of a Sync Service / Adapter so the behaviour is rather strange. Removing all code from onPerformSync results in a successful sync.
It seems like something is happening during the sync process which is causing the Sync Manager to think the sync failed, even when the result says otherwise, can anyone advise any further checks or a solution to this?