Integration / API¶
This section is about other apps can interact with DAVx⁵.
Launching the DAVx⁵ login screen¶
You can use an explicit Intent to launch the DAVx⁵ login screen with pre-filled credentials:
val intent = Intent() intent.setClassName("at.bitfire.davdroid", "at.bitfire.davdroid.ui.setup.LoginActivity")
Always use an explicit intent with hardcoded package name for security reasons. Keep in mind that an attacker could trick users into installing a malicious app with the same package name (when third-party app sources are allowed).
You can set URL, username and password as extras. All of those are optional.
|url||String||CalDAV/CardDAV base URL|
|password||String||pre-filled password (usage not recommended)|
New in version 2.6: Alternatively, you can use the Nextcloud Login Flow method:
Intent data (URI): login flow entry point (
<server>/index.php/login/flow). Intent extras (*… optional):
|loginFlow||Int||set to 1 to indicate Login Flow|
|davPath||String*||CalDAV/CardDAV base URL; will be appended to server URL returned by Login
Flow without further processing (e.g.
For compatibility with old DAVx⁵ versions, you can use both methods at the same time. Old DAVx⁵ versions will
password extras, while new versions will see the
extra and switch to the Login Flow method.
Extended event properties¶
There are iCalendar properties which are not covered by the Android Calendar provider,
URL of an event and attachments. DAVx⁵ and calendar apps can’t exchange such properties in a
standardized way, so editing/viewing these properties in calendar apps and synchronizing them won’t work.
To overcome these limitations, it’s necessary to agree on a common format for these properties. The following formats are designed for interaction with calendar apps. We hope that calendar apps start to accept these formats in order to allow users to get even better CalDAV integration on Android.
URL is supported.