KB: Provisioning Devices
When provisioning a device using our QR code your device is locked down in the most secure way possible. Kiosk Browser becomes the "device owner" meaning that it is granted more permissions vs a standard Kiosk Browser installation.
Key Features:
- Streamlined setup process (embed licence keys or remote management registration key)
- Automatically grant majority of permissions
- Set the default launcher programmatically without user intervention
- Hide home button and recents button/block access to home and recents hardware buttons (Android 6.0 or higher)
- Block access to the status/notification bar (top of the screen) using official methods, rather than workaround
- Update applications (Update Manager via remote management) or via our JavaScript interface, Android 6.0 or higher
- Reboot device on schedule (Android 7.0 or higher)
- Disable lock screen programatically
- Block launching of applications not in app drawer (apps launched from JavaScript unaffected)
- Disable booting into safe mode (Android 6.0 or higher)
- Prevents Kiosk Browser from being uninstalled without factory reset
Android 6.0 or higher supported
To start the provisioning process your device (the target device you want to install Kiosk Browser on) either needs to be brand new out of the box or factory reset.
Method 1. QR Code (Android 7.0 or higher)
The QR code method was introduced in Android 7.0, it requires that your device has a camera.
- Boot up your new / factory reset device
- Tap the welcome screen 6 times until the QR wizard starts
- Connect to your WiFi network
- Generate a QR code via our online QR Code Generator
- Scan the QR code
- Your device will then download and install Kiosk Browser
- Follow the on-screen steps
Method 2. NFC (if no camera)
Google introduced the provisioning method when Android 5.0 was released, it was generally designed to use NFC to provision. NFC is required on both devices used in the process.
- Install Kiosk Browser Provisioner on a device that will not be running Kiosk Browser (source device).
- Launch Kiosk Browser Provisioner
- Select target Android version
- Change APK Url if using a custom build (otherwise leave default)
- Select the locale you wish the target device to use (default is probably correct)
- Enter optional parameters such as registration key or licence key
- Tap compute checksum and wait for the checksum to be returned
- Boot up your new device (factory reset or new out of the box)
- Bump both devices together until you hear the "bump/nfc sound"
- Follow the on-screen steps
Repeat steps for each device by bumping the devices together
Method 3. ADB (set device owner via ADB command)
Only use if the previous options are not possible.
This option is complicated and long winded, BUT at the end of it your device will be running Kiosk Browser in device owner mode and you will benefit from all the features. Only for advanced users who know how to communicate with a device via ADB.
- Boot up your new / factory reset device
- Follow the setup wizard but DO NOT add a Google Account at this stage, otherwise provisioning will fail
- Install Kiosk Browser via APK
- Enable USB debugging on your device
- Connect the device via USB cable
- Execute the following command: adb shell dpm set-device-owner com.procoit.kioskbrowser/.receiver.AdminReceiver
- If using a custom build use the following command adb shell dpm set-device-owner com.mycompany.browser/com.procoit.kioskbrowser.receiver.AdminReceiver and replace com.mycompany.browser with your custom package name.
- Once the command has executed it should state success or failure, if successful Kiosk Browser is now provisioned
- [Optional] Start Kiosk Browser: adb shell am start -n com.procoit.kioskbrowser/com.procoit.kioskbrowser.ui.Launcher
- [Optional] Register to remote management: adb shell am broadcast -a com.procoit.kioskbrowser.SET_REGISTRATION_KEY --es registration_key "KR-XXXXX"
- [Optional] Set Automatic Configuration JSON url: adb shell am broadcast -a com.procoit.kioskbrowser.SET_CONFIG_URL --es config_url "https://www.mywebsite.com/config.json"
Updated on: 07/06/2024
Thank you!