MaxGo Kiosk Browser

Setup

To top

  1. Download the latest APK at the bottom of this page.
  2. Copy APK to the unit and open it using the Filemanager in the Tools app.
  3. Open the Kiosk Settings and enter the PIN (default is 2580).
  4. Change the default homepage and pin and exit using the back button.

Usage

To top

Exiting the app

The default settings don’t allow the user to exit the app with the back, home, and recent apps buttons. To exit the app you need to use a key combination and a PIN.

On the Nautiz X4 and Nautiz X8, the key combination is F1, F2, F3, and F2. On the Nautix X2, you need to use the side keys and press, top-left, top-right, bottom-left, and top-right.
When asked for a PIN, use the value you have set up in the settings or 2580 as the default value.

Hardware keys settings

The settings at Hardware Keys > Block keys and System keys are only used on the Nautiz X4 and Nautiz X8 and don’t have any effect on other hardware.

Recent apps lockdown

On the Nautiz X2 (and other Android 5+ devices) you’ll have to enable the Kiosk Service at Settings > Accessibility to block the recent apps key.

Settings

Homepage
Set the page you want to load when the app opens. Hint: The KioskBrowser will not prevent the user from leaving this domain.

PIN
This is the pin that is needed to exit the app with the “Exit with PIN prompt” option and to open the settings.

Start after boot
Enable this to start the app after the system is started (Autostart).

Hide the status bar
Hide the Android status bar at the top. Hint: Regardless of this setting, the app will prevent the user from pulling down the status bar.

Block touch input
Block all touch interaction on the website.

Hardware Keys
Different settings for hardware keys on Nautiz X4 and Nautiz X8 as well as settings for long press and patterns.

Block keys
Block/disable hardware keys depending on the System keys options on Nautiz X4 and Nautiz X8.

F1-F4, Menu Longspress
Set an event to occur after long-pressing a hardware key.

F1>F2>F3>F2, F1>F3>F2>F3 Action
Set an event to occur after the key pattern was pressed.

Use custom User-Agent
Enable the browser to send a different HTTP User-Agent to the server on each request.

Custom User-Agent
Define the string to be sent as the HTTP User-Agent when the “Use custom User-Agent” option is enabled.

Progressbar color
Change the color for the loading indicator that is shown on the top edge of the window.

Force speaker output
Force all output from the browser page through the speaker even if a headset is connected.

Dialog sound
This sound is used for Javascript Alert and Prompt dialogs.

Scan success sound
This sound is played when a barcode or NFC tag has been read successfully.

Scan failure sound
This sound is played when an NFC tag can’t be read or the scanner timeout is hit.

NFC
Settings for NFC and Mifare tags.

Enable NFC
Enables the NFC functionality on supported devices.

Prefix, Suffix
Set a prefix or suffix to be sent with the NFC data.

Read block data
Enable to read Mifare block data.

Mifare Key A
Set the key for encrypted sectors or use the default FFFFFFFFFFFF key.

Mifare Block
Set the block index to read value. Hint: The key must be provided of the sector this block is located in.

App Version
Shows the current app version and version code.

XWalk Version
Shows the version of the xWalk library used to render the web pages.

Q: How do I exit the app after installing it?
A: When you open the app after the installation (without ever changing the settings) you can show the navigation bar by pressing F1, F2, F3, F2. Press the Home button to exit. (This can be changed in the Kiosk Settings).

Q: Why are the scan or volume buttons not working when using the app?
A: All hardware buttons are blocked by default. You can change that by going to the Kiosk Settings and enabling the keys at Hardware Keys > System keys.

We have stopped the ongoing support for the old (< Android 5.0) version of this app used for Nautiz X4 and X8. You can find the latest v2.2.0 of that build here.

Release notes

To top

  • Version 2.3.7
    – Added support for Algiz RT8, Nautiz X41, Nautiz X6
    – Added support for non-ssl sites and custom ssl certificates
    – Added support to trigger scanner with some BLE PTT buttons
    – Added missing permissions and settings for newer web features
    – Fixed Chrome version not being displayed in settings
  • Version 2.2.0
    – Fixed audio routing (force speaker) issue when a headset is plugged in while the app is running
    – Fixed issue where the scan sounds would stop randomly
    – Improved demo page for non-printable data in barcodes
    – Fixed config-intent issue
    – Added setting to allow ESC in NX9 barcodes
    – Fixed issue with scanner callback if the barcodes contain certain characters
    – Added permission request for user-media permissions
    – Fixed issue with headset trigger on NX2 and added setting to restore old behavior

HTML-Meta-Tags

To top

Since version 1.5.0, some app functions can be set via HTML-Meta-Tags.

Setting a scan result handler
<meta http-equiv="ScannerNavigate" content="javascript:OnScan('%s', '%s', '%s');">
<!-- or -->
<meta http-equiv="ScannerNavigate" content="javascript:OnScan('%s', '%s', '%s', '%s', '%s');">

(1) barcode data, (2) symbology type, and (3) timestamp will be passed to a function with 3 arguments. (1) barcode data, (2) source scanner name, (3) symbology type, (4) timestamp, and (5) barcode length will be passed to a function with 5 arguments. The source scanner will always be “0”.

Setting an NFC result handler
<meta http-equiv="NfcNavigate" content="javascript:OnScan('%s');">

(1) Tag id or block data depending on the setting.

JavaScript-Interface

To top

App API

This API provides methods to interact with the app itself.

// Asked for the PIN and exits the app if the correct PIN was entered
App.exitWithPin();
// Exits the app
App.exit();
Barcode Scanner API

Since version 1.5.0, the app provides a JS interface to interact with the scanner. The interface exposes the following methods.

// Starts the scanner with it's current settings
Scanner.startScan();
// Stops the current scan if running
Scanner.stopScan();
// Enables or disables the hardware scan trigger
// This setting does not affect the .startScan() function
Scanner.setTriggerEnabled(bool enabled);
NFC API
// Enables or disables the NFC reader
Nfc.setEnabled(bool enabled);
Bluetooth API

Since version 1.8.0, the app provides a JS interface to interact with the Bluetooth module. Since almost all the calls are asynchronous, a callback function is needed to receive the results.

This callback function needs to be provided as a string of the function name. This function will be called with 2 parameters in both a successful and error case. The first parameter is the error. This is set to false if the operation was successful or will contain the error message if an error occurred. The 2nd parameter is a message which is always and can be used to provide feedback on the operation.

// Enables or disables the Bluetooth radio
Bluetooth.setEnabled(boolean enabled, String callback)
// Connects to a nearby device via the mac address.
// This devices should be paired in the system first.
// Otherwise the pairing notification will be shown
// which might not be accessible in kiosk-mode.
Bluetooth.connect(String mac, String callback)
// Sends the data to the connected Bluetooth device
Bluetooth.write(String data, String callback)
// Disconnects from the Bluetooth device
Bluetooth.disconnect(String callback)
// Returns a JSON array with the keys "address" and "name" set
// for each paired device
// Note: This is returned as a string so youΓÇÖll have to use JSON.parse()
// to receive the actual array object
Bluetooth.getPairedDevices()
Intent API

Since version 1.8.0, you can trigger any intent from action and receive the returned data in a callback.
The example below shows how to use a camera-based Barcode Scanner using this API.

function onResultCallback(requestCode, rawJson){
if(requestCode != 1234) return; 
var data = JSON.parse(rawJson);
var content = data.SCAN_RESULT;
document.form1.scan1.value = content;
}

function scan(){
Intent.start('com.google.zxing.client.android.SCAN', 1234, 'onResultCallback');
}

You can download the demo page that shows at the start of the app from here (use right-click > save as if your browser opens the page directly).

If you want to change back to this page, set the URL to “about:demo” (without any leading http(s)://).

Was this article helpful?
No