There are four main reasons why DAVdroid synchronization is not run automatically / as expected:
- DAVdroid has not been whitelisted from battery optimization, 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
- vendor-specific (for instance: Huawei, LeTV, One Plus, Oppo, Vivo, Xiaomi) restrictions like Autostart, Start in background or App auto-launch permissions prevent DAVdroid from being run, and/or
- automatic synchronization is disabled (will be shown in DAVdroid).
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 DAVdroid to be run as set in sync interval settings, you have to exempt DAVdroid from battery optimization (app standby, doze mode). Otherwise, synchronization may be delayed until you connect the device to a power supply. DAVdroid 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.
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 DAVdroid 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 DAVdroid accounts again (DAVdroid / Your account / Account settings / Sync intervals).
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 DAVdroid from synchronizing. To get it working, add DAVdroid to "Autostart" (required for automatic sync) and check DAVdroid permissions to allow things like "start in background". On OnePlus devices, it's named App auto-launch.
See the screenshots (taken on a Xiaomi device) for more details. The screens may look different on your device.
If DAVdroid doesn't synchronize automatically after a reboot, check those settings again.