Search code examples
androidandroid-intentself-hosting

Let Android app handle link URLs with configurable domain


It is possible to open an Android app from within the browser by just clicking on a http/https URL when the app registers itself as handler for the domain in its manifest. The Jistsi Meet video-conferencing application registers URL handlers for the main domain meet.jit.si.

But I am running my own jitsi meet server, and I would like to share links to a video conference that work both in the desktop web browser (showing the web version of the conference), and open the Jitsi meet app on Android.

Is there some way to dynamically modify the intent registration in the Android app when the default domain setting is changed within the Jitsi app?

Example:

  1. Standard intent domain is meet.jit.si
  2. User changes default domain in the app settings to meet.example.org. New intent handler domain is meet.example.org, app opens when user clicks link to https://meet.example.org/dummyconf
  3. Same for every other domain that gets configured.

Solution

  • It is not possible. Intent filters are too locked down:

    • Registering a subdomain only (meet.*) does not work: android:host supports wildcards, but only at the beginning (for subdomains)

      The asterisk must be the first character of the host attribute.

    • Registering only a path (any domain, /jitsi/MeetingName as path) does not work because

      If a host is not specified for the filter, the port attribute and all the path attributes are ignored.