Webview Kiosk
- chore: bump gradle to 9.5, android compileSdk and targetSdk to 37, agp to 9.1.1
- fix: resolve crash when clearing history on empty stack
- fix: url validation crash when failing to decode file url
- fix: only send notifications for blob download if enabled in settings
- fix: catch security exception for sending notification
It can function as digital signage, a kid-friendly restricted browser, an immersive web reader, an interactive sign-up form, a home assistant dashboard, or simply a wall clock.
Designed for small businesses and device owners who are looking for a simple and standalone Kiosk solution.
Key Features
Core / Standalone
- Lock Task Mode (Pin): prevent access to your device's home screen, apps and status bar
- Secure Settings: configurations are protected by biometrics, device credentials or custom password
- URL Filtering: use regular expressions to control web access through a URL blacklist and whitelist
- Export/Import: backup and restore user settings in Base64 or JSON format
- Local files: display an image, audio, video, or HTML file in kiosk mode from your device
- Default Launcher: use as the home app and launch other apps in lock task mode (kiosk)
Remote Management / Enterprise
1. MQTT (Message Queuing Telemetry Transport)
- Monitor events, update settings, execute commands and build custom automations using the API
- Requires an MQTT broker (e.g. Mosquitto, EMQX, HiveMQ, or their HomeAssistant integrations)
2. UnifiedPush
- Send commands and update settings via a decentralised push notification system
- Requires a distributor application (e.g. sunup, ntfy, gCompat-UP)
3. Managed Configurations (App Restrictions)
- For fully-managed (company-owned) devices, settings can be remotely configured via an MDM/EMM provider
- Advanced users using a device policy controller (e.g. Test DPC or OwnDroid) can also enforce configurations locally
For more details, visit https://webviewkiosk.nktnet.uk
Permissions
- INTERNET: for general web browsing
- CAMERA: (optional) for use with web apps that requires photo/video capture
- RECORD_AUDIO: (optional) for use with web apps that requires audio capture
- MODIFY_AUDIO_SETTINGS: for routing audio (microphone will not work without this)
- ACCESS_FINE_LOCATION: (optional) for web apps that needs precise geolocation
- ACCESS_COARSE_LOCATION: (optional) for web apps that needs approximate geolocation
- QUERY_ALL_PACKAGES: to find launchable apps, device owners and lock task packages
- POST_NOTIFICATIONS: (optional) for lock task mode (kiosk) launches and MQTT
- FOREGROUND_SERVICE: for persistent notification and management with lock task and MQTT
- FOREGROUND_SERVICE_SPECIAL_USE: provides a return mechanism for opening apps in kiosk
- USE_BIOMETRIC: replaces USE_FINGERPRINT from Android 9 onwards
- USE_FINGERPRINT: use fingerprint hardware when accessing settings or unlocking kiosk
- WAKE_LOCK: to optionally wake the screen when receiving MQTT commands
- WRITE_EXTERNAL_STORAGE: for downloading files in Android 9.0 (SDK 28) and below
- API (Dhizuku): to request shared device owner privileges
Contact
Questions/Feature Requests
- https://github.com/nktnet1/webview-kiosk/discussions
Bugs/Issues
- https://github.com/nktnet1/webview-kiosk/issues
Other
- support@webviewkiosk.nktnet.uk
Alternatives
- Fully Kiosk Browser Lockdown (feature-rich, but not a free kiosk solution)
- Web Kiosk (FOSS, developed by Screenlite)
- FreeKiosk (FOSS, developed by Rushb-fr)
- Author: Khiet Tam Nguyen
- License: GNU Affero General Public License v3.0 or later
- Website
- Issue Tracker
- Source Code
- Changelog
- Build Metadata
- Reproducibility Status
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4.3 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4.3 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4.3 MiB PGP Signature | Build Log
- feat: ability to download blob URLs (e.g. files from GitHub)
- fix(unifiedpush): resolve crash for unknown command in payload







