Launching External App from ODK?

1. What is the problem? Be very detailed.
I am trying to launch an external App from my phone to extract information into my ODK form. On the xls form appearance column I put ex:LandPKS. LandPKS is the application name I wanted to launch from my phone. To be honest I was not sure what to write after ex:-------. I just decided to write the application name as it appears on my phone screen. On the ODK form the question was displayed as I wanted and with a Launch button (at least I am successful with this). When I press the Launch button it I received a message saying 'the requested application is missing . Please manually enter the reading'. I didn't want to enter it manually though. I am guessing the problem occurred because of what I missed to write after ex:---------. Could someone please advise on this. Thanks in advance for your help. Please look at the attached .xml form that includes the external application launch instructions.Launch_External_App.xlsx (11.7 KB)

What ha

2. What app or server are you using and on what device and operating system? Include version numbers.
The ODK version I am using is v1.22.4, My phone is TECNO W3 Pro, Android version 7.0

3. What you have you tried to fix the problem?

4. What steps can we take to reproduce the problem?

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

Make sure to read thru https://odk-demo.readthedocs.io/en/latest/launch-apps-from-collect.html#launching-external-apps-from-collect-forms

I might suggest playing around with the counter app till you get it working with your form, to make sure you got it pulling in a value. Then switch to your custom external app.

1 Like

Is it documented anywhere that the app you want to start allows starting one of its activities from another app (ODK Collect in this case) and will return data? I'm asking because not all apps allows to use them in that way.

Thanks for taking time to respond. I have been checking the link you sent to me and another related link https://docs.opendatakit.org/launch-apps-from-collect/#launch-apps-uri-data. I have tried ex:android.intent.action.DIAL and it launched the phone dialer without a problem. But I am still struggling to figure out how to launch other Apps from ODK.

I think that is the case, some apps doesn't allow to be accessed by other Apps. With that I went to check lists of Apps with opening links. I couldn't see the App I was looking to open in that list. Then I said to myself, aha that is why it is not launching. Just to give it a try I wrote the supported opening links of the Apps in the opening links list (e.g WhatsApp). ex:api.whatsapp.com, but I couldn't launch WhatsApp either. My other headache was to find the intent action name of the App I am looking to open the ODK. I thought I found it now following this steps-- Opening the internal phone directory>>>Android>>>Data. I see folders of Apps in my phone that looks like the intent action names in the ODK examples https://docs.opendatakit.org/launch-apps-from-collect/#launch-apps-uri-data. I copied that folder name and put in my .xlm form, Again after doing all this I had no success to launch the App. I took the screenshots of the steps I followed to check the opening links and intent action name on my phone.

1 Like