[feat] Ability to set Android app as launcher/kiosk mode
Describe the problem
Hi Tauri team!
We need a "kiosk mode" for Tauri!
Describe the solution you'd like
My team and I are trying to build an app in your wonderful framework that's meant to be ran on Android touchscreens. We really need a mechanism to set the Android app as a launcher (or some other way to prevent the app from being exited).
Is there anything I can do currently to enable this functionality?
Alternatives considered
Just writing the app natively.
Additional context
No response
+1 !
Looking forward to this feature as well, as I'm planning on Tauri as well for Ancient Beast game project -> https://github.com/FreezingMoon/AncientBeast/issues/2031 and will eventually want arcades in (semi) public places, so the kiosk feature helps big time with that sort of stuff https://github.com/FreezingMoon/AncientBeast/issues/933 Hopefully this will make it on the roadmap soon 🐻 Offering 333 XatteR (our project token) to whom implements this feature in Tauri! 💰
So I've gone down the most freakin' rabbit of all holes and have some somber news. Android OS locks down this feature specifically for Android Enterprise / MDM-enrolled organizations, users & devices. They've fully monopolized the Android Kiosk-mode (aka Android Single-App Mode). In order to have actual, true kiosk mode you'll need to have the device enrolled in an applicable MDM, or become an MDM provider yourself but they silently closed applications for it.
There's half measures like using automatic screen pinning but a savvy Android user can still easily escape your app, disable Wi-Fi and cause other havoc.
That said, Tauri is AMAZING for developing Android apps. We're in prod right now and it's going great.
Oh, I suppose you could also roll your own custom Android ROM/OEM, but... I'm just straight up not interested in doing that.
Sad news, but big thanks for doing the research!
@alectrocute Thanks for the info and research. This gave me an idea to look for an existing rather simple solution: it seems there are Android apps that will either lock the device to one app or the browser (ideally, if I can limit to a single domain). See "Fully Single App Kiosk" app or related one "Fully Kiosk Browser & Lockdown" one (as it mentions apps as well in description); will have to give them a try pretty soon 🐻
@alectrocute Thanks for the info and research. This gave me an idea to look for an existing rather simple solution: it seems there are Android apps that will either lock the device to one app or the browser (ideally, if I can limit to a single domain). See "Fully Single App Kiosk" app or related one "Fully Kiosk Browser & Lockdown" one (as it mentions apps as well in description); will have to give them a try pretty soon 🐻
Those apps are owned/developed/maintained by what are essentially MDM resellers so they’re able to offer the feature. Like Fully Kiosk, for example, you still need to have the end user enroll their device into their MDM. They hide these details from you in my places pre-purchase, however.
Another option is having the end user run an ADB command to set the device owner as your app bundle ID, but good luck getting your typical older user to understand how to do that!
Thanks for the research @alectrocute ! Actually I think it makes sense Android Debug Bridge is required.
Distributing apps through app stores that can set kiosk mode without exit buttons could lead to quite captivating user experiences 😅
And even if ADB is required to set up a tablet, for people that want to distribute Tauri apps on their proprietary Android devices, having the Kiosk mode feature would still be amazing.
I believe this is what kiosk mode is originally intended for: to have proprietary devices run only a single app. This would enable Tauri to power public device UIs, like train ticket machines, hospital applications (my current need ☺️), event registration stands, etc.
Hello Team 🖖 Is there any action on this issue? I think We need this feature in Tauri, like in Electron. (I know that this feature is also available in Chromium and it is difficult for Tauri.) I'd like to hear your thoughts.
There are no plans for the (current) team to spend any time on this. Contributions are always welcome of course but we cannot justify spending resources on this ourselves at the moment.