Hi LN,
Your idea with intent filters sounds like the best solution, via deep linking.
As ODKCollect now accepts a base64 encoded QR code, could a URL configuration be provided via the base64 encoded string in a query parameter?
Example link:
app://odkcollect?qr=base64encodedqrcodestring
Example code:
Uri data = intent.getData();
data.getQueryParameter("qr");
Ref: https://developer.android.com/training/app-links/deep-linking