Webview Kiosk
Turn your Android device into a locked-down web page in fullscreen mode.
Screenshots
Description
Webview Kiosk is a free and open-source Android application for secure, kiosk-style web browsing.
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.
<big>Key Features</big>
<b>Core / Standalone</b>
- <b>Lock Task Mode (Pin):</b> prevent access to your device's home screen, apps and status bar
- <b>Secure Settings:</b> configurations are protected by biometrics, device credentials or custom password
- <b>URL Filtering:</b> use regular expressions to control web access through a URL blacklist and whitelist
- <b>Export/Import:</b> backup and restore user settings in Base64 or JSON format
- <b>Local files:</b> display images, audio, video, HTML or PDF (using Mozilla's PDF.js) in kiosk mode
- <b>Default Launcher:</b> use as the home app and launch other apps in lock task mode (kiosk)
- <b>JS Scripts:</b> supports NFC (Near Field Communication), Eruda console, Dark Reader and custom scripts
<b>Remote Management / Enterprise</b>
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
<big>Permissions</big>
- <b>INTERNET</b>: for general web browsing
- <b>ACCESS_NETWORK_STATE</b>: to refresh web pages when network connectivity is restored
- <b>CAMERA</b>: (optional) for use with web apps that requires photo/video capture
- <b>RECORD_AUDIO</b>: (optional) for use with web apps that requires audio capture
- <b>MODIFY_AUDIO_SETTINGS</b>: for routing audio (microphone will not work without this)
- <b>ACCESS_FINE_LOCATION</b>: (optional) for web apps that needs precise geolocation
- <b>ACCESS_COARSE_LOCATION</b>: (optional) for web apps that needs approximate geolocation
- <b>NFC</b>: for reading and writing NFC tags using the device's NFC hardware
- <b>INSTALL_SHORTCUT</b>: for adding home screen launcher shortcuts on Android 7.1 and below
- <b>QUERY_ALL_PACKAGES</b>: to find launchable apps, device owners and lock task packages
- <b>POST_NOTIFICATIONS</b>: (optional) for lock task mode (kiosk) launches and MQTT
- <b>FOREGROUND_SERVICE</b>: for persistent notification and management with lock task and MQTT
- <b>FOREGROUND_SERVICE_SPECIAL_USE</b>: provides a return mechanism for opening apps in kiosk
- <b>USE_BIOMETRIC</b>: replaces USE_FINGERPRINT from Android 9.0 onwards
- <b>USE_FINGERPRINT</b>: use fingerprint hardware when accessing settings or unlocking kiosk
- <b>WAKE_LOCK</b>: to optionally wake the screen when receiving MQTT commands
- <b>WRITE_EXTERNAL_STORAGE</b>: for downloading files in Android 9.0 and below
- <b>API (Dhizuku)</b>: to request shared device owner privileges
<big>Contact</big>
<b>Questions/Feature Requests</b>
- https://github.com/nktnet1/webview-kiosk/discussions
<b>Bugs/Issues</b>
- https://github.com/nktnet1/webview-kiosk/issues
<b>Other</b>
- support@webviewkiosk.nktnet.uk
<big>Alternatives</big>
- Fully Kiosk Browser Lockdown (feature-rich, but not a free kiosk solution)
- Web Kiosk (developed by Screenlite)
- FreeKiosk (developed by Rushb-fr)
- Kite AOS (developed by andrew-malitchuk)
What’s new (0.26.17)
## Changes
- feat: support titles in bookmarks
- feat: add confirmation for custom password save + show password checkbox
- fix: allow https protocol with localhost scheme in URLs
- fix: shortcut icon bitmap with fixed width and height
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Internet accessSend and receive data over the internet.
- Network stateCheck whether and how the device is connected.
- CameraTake photos and videos.
- MicrophoneRecord audio.
- Audio settingsAdjust volume and audio output.
- Precise locationDetermine the location via GPS.
- Approximate locationDetermine the location via the network.
- NFCExchange data via near field communication.
Show 12 more permissions
- Installed appsSee which apps are installed.
- launcher.permission.INSTALL_SHORTCUT
- NotificationsShow notifications.
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_SPECIAL_USE
- Prevent sleepingKeep the device from going to sleep.
- Write storageCreate and change files on the device storage.
- permission.API
- BiometricsUnlock with fingerprint or face.
- FingerprintUnlock with a fingerprint.
- webviewkiosk.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- Read storageRead files on the device storage.
Comments