Files
android-kiosk-browser/README.md
T
pluto 6dc1a73d2e feat: MVP implementation - Kiosk Browser
- Fullscreen WebView with immersive mode
- URL whitelist system
- Admin PIN-protected settings
- Boot receiver for auto-launch
- Idle timeout with homepage reset
- Lock Task Mode support
- Material Design 3 UI

Team: Pluto (coordinator), Margaret, Spirit
2026-02-03 09:09:20 -06:00

1.5 KiB

Android Kiosk Browser

A customizable locked-down browser for Android kiosk and digital signage deployments.

Features (MVP)

  • Fullscreen WebView - Immersive mode, no address bar or browser chrome
  • URL Whitelist - Only allow configured domains
  • Lock Task Mode - Disables home/back/recent buttons
  • Admin PIN Exit - PIN-protected escape from kiosk mode
  • Auto-launch on Boot - Starts automatically when device powers on
  • Idle Timeout - Returns to homepage after inactivity
  • Admin Settings - Configure whitelist, homepage, timeout, PIN

Tech Stack

  • Kotlin
  • Android WebView
  • Lock Task Mode (API 21+)
  • DataStore Preferences
  • Material Design 3

Requirements

  • Android 5.0+ (API 21)
  • For Lock Task Mode: Device Owner provisioning

Building

./gradlew assembleDebug

Device Setup

To enable Lock Task Mode (full kiosk lockdown):

adb shell dpm set-device-owner farm.hobbs.kioskbrowser/.KioskDeviceAdminReceiver

Admin Access

Triple-tap the top-left corner of the screen to access admin settings.

Default PIN: 1234

Configuration

Settings available in Admin panel:

  • Homepage URL
  • Allowed domains (comma-separated)
  • Idle timeout (seconds)
  • Admin PIN

Future Enhancements

  • Remote configuration
  • Multiple profiles
  • Usage analytics
  • Digital signage mode (URL rotation)
  • Session data clearing on idle

License

MIT License - hobbs.farm


Project managed in Vikunja | Docs on Wiki