Research 114 Kiosk Mode Android application - Tuong-Nguyen/Android GitHub Wiki
Silo approach
A Kiosk Mode is implemented by disabling various Android features that can be used to leave your app. The following features are affected:
- The back button
- The home button
- The recent apps button
- The power button
- The volume buttons
Disadvantage: There are the long list of (very) dirty hacks
Ref: http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
Example source: https://github.com/andreasschrade/android-kiosk-mode
Screen spinning or Task locking ("Kiosk Mode" in Android Lollipop and Marshmallow)
- Starting Kiosk Mode: just call
startLockTask()
in your Activity -> low-security Kiosk Mode, user can easily break-out by holding the Back and Overview keys simultaneously. - Install a “device owner” app. The device owner is a new, special kind of device administrator that can grant any app the right to put itself into a Kiosk Mode that the user can’t get out of. -> high-security Kiosk Mode
Ref:
- https://sdgsystems.com/blog/implementing-kiosk-mode-android-part-3-android-lollipop
- https://developer.android.com/work/cosu.html
- https://developer.android.com/about/versions/android-5.0.html#DeviceOwner
Source code: