Possibly broken intent filters
Closed this issue · 2 comments
Intent filters seem to be broken. Verify and repair.
- *.ics URLs (when opening in Browser)
- webcal:// URLs
- file:// URLs (when opening local ics files)
- *.ics URLs (when opening in Browser)
I don't think it's possible. Android explicitly blocks non-verified domains from opening on third-party apps. - webcal:// URLs
Works perfectly, bothwebcal://
andwebcals://
- **file:// URLs
Not working, places the url in the text field, instead of loading the file. - Launching ICS files
Launches on Google Calendar instead of ICSx5
Well, the file://
extension has been deprecated since Nougat (reference), though I think we should keep it.
content://
works fine, both when launching from a file explorer, and when picking the file from inside the app.
We won't be able to use http://
or https://
since it's required to have a verified domain for the app, and doesn't allow wildcards. This is because they are restricted schemes, however, webcal://
and webcals://
both work just fine, at least from adb.
Since patterns are quite broken in Android, this doesn't work for long URLs (longer than 4 sub-directories), which is what we have defined in the manifest. We may add more, though it's quite a stupid syntax, since for example:
https://gist.githubusercontent.com/DeMarko/6142417/raw/1cd301a5917141524b712f92c2e955e86a1add19/sample.ics
Doesn't even work, and it's not such a long URL.
Shorter ones such as:
https://cdn.arnyminerz.com/sample.ics
work perfectly.