Is there a way to force user to use a particular camera app?

I need to get some watermarks in my photos, and there is a camera app on the phones that lets me do that. But the users keep switching to the default camera to click photos.

Is there any way to force them to use the second camera app?

Hi @ks_1
We're glad you're here. When you get a chance, please introduce yourself on this forum thread. I'd also encourage you to add a real picture as your avatar because it helps build community!

I assume you have access to that device because you installed the camera app you want to use. If so you can change the default app in android settings https://www.techrepublic.com/article/how-to-set-default-apps-in-android-10/ However this won't work on android 11 https://android.stackexchange.com/questions/228774/how-do-we-set-the-default-camera-app-in-android-11

Another way would be using our external widgets (that starts external apps) but your camera app would need to be compatible with our codebase. Could you tell us what that camera app is (ideally a link to Google Play Store?

Thanks for the reply, @Grzesiek2010
Actually I've been a member since many years but I seem to have lost my credentials and I even forgot which email address I used. :frowning:

Yes, we have access to the user devices since they are provided by us to them. We have tried changing the default camera, but noticed that some users keep fiddling with these settings (possibly to use the phones for their personal use during their off-time).

The solutions available to us are:

  1. Install a software to lock access to the phone settings. But this is not preferable, because it involves additional complexity. And also in the rare cases where the user uses his own phone, this cannot be done.

  2. Configure the behaviour of ODK to open the preferred camera automatically.

The camera we are using is Open Camera:

https://sourceforge.net/p/opencamera/code/ci/master/tree/

Is this compatible?

It's not but it's open-source so it could be. That would require implementing some changes to the project.

Can you put me in the right direction as to how to implement this in its code? (btw I got my credentials)

This is not trivial and it's not possible to tell what exactly should be changed. If you are a programmer you can read how our external widgets work:
https://docs.getodk.org/form-question-types/#external-app-image-widget
https://docs.getodk.org/launch-apps-from-collect/
and try to adjust the OpenCamera app.

Hi

Do you know of any external camera apps that are compatible with ODK?

Thanks

Hi @ODK-MAC

No. Usually, the default camera app works fine. Do you have any problems with using the default app?
As I said (see: Is there a way to force user to use a particular camera app? - #2 by Grzesiek2010) above it's now even easy to use a non-default app on android.