There are four main reasons why DAVx⁵ synchronization is not run automatically / as expected:
- vendor-specific (for instance: Huawei, LeTV, One Plus, Oppo, Vivo, Xiaomi) restrictions like Autostart, Start in background or App auto-launch permissions prevent DAVx⁵ from being run, and/or
- vendor-specific (for instance: Samsung) features like Maximum power saving mode have disabled synchronization and reset the sync interval to save power and/or
- DAVx⁵ has not been whitelisted from battery optimization, and/or
- automatic synchronization is disabled (will be shown in DAVx⁵).
DAVx⁵ is not the only app that is affected by these "features". Find more information for various vendors on dontkillmyapp.com.
Some vendors like Huawei¹, LeTV, Oppo, Vivo, Xiaomi², ZTE and maybe others have added some modifications which are not available in default Android, and which prevent DAVx⁵ from synchronizing.
To get it working, add DAVx⁵ to "Autostart" and check DAVx⁵ permissions to allow things like "start in background". On OnePlus devices, it's named App auto-launch. This is required even if you don't use automatic DAVx⁵ synchronization.
See the screenshots (taken on a Xiaomi device) for more details. The screens may look different on your device.
If DAVx⁵ doesn't synchronize automatically after a reboot, check those settings again.
¹ On some Huawei devices this is very hard to find – go to: Settings → Apps → Settings (little wheel on the bottom of the screen) → Special Access → Ignore Battery Optimization → All Apps (drop down menu) → DAVx⁵ → Allowed. Also make sure that under Apps → DAVx⁵ → Battery → Launch all three options are enabled (Auto-Launch, Secondary launch, Run in Background).
² In some cases contacts are synchronized but not displayed on Xiaomi devices (in the Xiaomi contacts app). To get it working a user reported that this setting helped: Contacts app → Parameters → Hide incomplete numbers switch off.
Some devices (especially Samsung devices) have a "Power saving mode" which can be set to "Maximum". When you do so, the system tries to save battery by disabling as much functionality as possible.
Maximum power saving mode disables DAVx⁵ synchronization, but unfortunately does not enable it again when you return from power saving mode.
If you return from maximum power saving mode, you have to set the sync intervals for your DAVx⁵ accounts again (DAVx⁵ / Your account / Account settings / Sync intervals).
Since Android 6, Google has put much effort in battery optimization. As a result, apps are very restricted when they may wake up and connect to the Internet.
If you want DAVx⁵ to be run as set in sync interval settings, you have to exempt DAVx⁵ from battery optimization (app standby, doze mode). Otherwise, synchronization may be delayed until you connect the device to a power supply. DAVx⁵ asks to be white-listed when it's started the first time.
Some devices require that you have to disable battery optimization manually. See the screenshots (taken on a Xiaomi device) for more details. The screens make look different on your device.