New in version 0.26.4
## Changes
New setting: `Web Engine -> Allow File Download` (boolean, default false).
When enabled, files can be downloaded from websites to the device's default download directory, e.g.
- /storage/emulated/0/Download/
For Android 9.0 (SDK 28) and below, the `WRITE_EXTERNAL_STORAGE` permission is required.
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.
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)
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-v8a
armeabi-v7a
x86
x86_64
This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
change your audio settings
Allows the app to modify global audio settings such as volume and which speaker is used for output.
-
show notifications
Allows the app to show notifications
-
query all packages
Allows an app to see all installed packages.
-
read the contents of your shared storage
Allows the app to read the contents of your shared storage.
-
record audio
This app can record audio using the microphone while the app is in use.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
modify or delete the contents of your shared storage
Allows the app to write the contents of your shared storage.
-
com.rosan.dhizuku.permission.API
-
uk.nktnet.webviewkiosk.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
4.2 MiB
PGP Signature
|
Build Log
New in version 0.26.3
## Changes
- fix: handle system webview crash via onRenderProcessGone
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
change your audio settings
Allows the app to modify global audio settings such as volume and which speaker is used for output.
-
show notifications
Allows the app to show notifications
-
query all packages
Allows an app to see all installed packages.
-
record audio
This app can record audio using the microphone while the app is in use.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
com.rosan.dhizuku.permission.API
-
uk.nktnet.webviewkiosk.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
4.2 MiB
PGP Signature
|
Build Log
New in version 0.26.2
## Changes
- fix(mqtt): restrict port & other integer fields to avoid crash
- feat: qr code provisioning - installation method with device owner
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 5.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
change your audio settings
Allows the app to modify global audio settings such as volume and which speaker is used for output.
-
show notifications
Allows the app to show notifications
-
query all packages
Allows an app to see all installed packages.
-
record audio
This app can record audio using the microphone while the app is in use.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
com.rosan.dhizuku.permission.API
-
uk.nktnet.webviewkiosk.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
4.2 MiB
PGP Signature
|
Build Log