Collect will need to stop using /sdcard/odk for files

That cannot be done currently. You could propose a specification and code design for it based on some of the ideas I shared here and the ClipData solution we used for requesting binary files from external apps.