Fully Kiosk Browser & App Lockdown

Fully Kiosk Browser is a secure and flexible Android Kiosk Browser and App Launcher. Restrict and adjust the functionality of your websites and lockdown other apps in Kiosk Mode. Fully Kiosk provides fullscreen mode, motion detection, remote admin and a lot of other features for your digital signages, interactive kiosk systems, information panels and all kinds of unattended AndroidTM devices. From just a fullscreen browser to full mobile device management (MDM) solution,  you decide what you get. No rooting required.

Fully Video Kiosk is our app for playing videos and image slideshows on Android devices with full kiosk protection.

Fully Single App Kiosk is our app for easily locking down the device to one selected app. Please get this kiosk app from Google Play or get an APK file from the download box.

FEATURES.

The most features of Fully Kiosk Browser are configurable according to your needs.

  • Show websites
    • Full JavaScript, HTML5 and Application Cache support
    • Load URLs on multiple tabs
    • HTTP, HTTPS or FILE protocols support
    • Fullscreen and autoplay for HTML5 videos
    • Basic HTTP authentication (username+password)
    • Client certificate authentication (ver. 1.32+)
    • WebRTC support (Android 5+)
    • Integrated barcode scanner (ver. 1.30+)
  • Lockdown or configure numerous web content features
    • Allow Third Party Cookies
    • Form Autocomplete (not in Android 8+)
    • Disable all JavaScript alert, prompt and confirm boxes
    • Scale page view or scale font size
    • Autoplay HTML5 video/audio
    • Clear Cache after each page loaded
    • URL Whitelist and URL Blacklist
    • Web filter based on host list (ver. 1.33+)
    • Load local files using http/https URL (ver. 1.33+)
    • Custom error URL (PLUS)
    • Upload files (PLUS, Android 5+)
    • Upload camera/video/audio capture (PLUS, Android 5+)
    • Access webcam by HTML5 (PLUS, Android 5+)
    • Access microphone by HTML5 (PLUS, Android 5+)
    • Access geolocation by HTML5 (PLUS)
    • Support popups and open links in new frame (PLUS)
    • Disable keyboard or text selection/pasting
    • Disable hardware acceleration (experimental)
    • Ignore SSL errors (optional, of cause)
    • Fake Browser User Agent String
  • Handle PDF, Videos and other contents
    • Show PDF files in Fully (PLUS)
    • Play videos supported by Android incl. RTSP streams fullscreen in the built-in viewer (PLUS)
    • Open links by other apps for other contents
    • Handle URL scheme intent:
    • Load and sync contents from ZIP file URL (ver. 1.33+)
  • Universal Launcher
    • Seamlessly mix apps, web bookmarks and file shortcuts on Fully’s universal launcher
    • Customize the launcher as simple and flexible as a web page
    • Launch other apps with full kiosk protection
    • Auto-start an app (single app kiosk mode)
    • read more
  • Customizable Toolbars and Appearance
    • Show/hide status, navigation, action, progress and address bar
    • Show/hide tabs (ver. 1.25+)
    • Real fullscreen mode (immersive sticky with Android 4.4+)
    • Custom colors for all bars and tabs
    • Customize the button set on the action bar with home, back, forward, refresh, print, share, QR scan and custom action buttons
    • Custom Action Bar Icon and Background Image
  • Configurable browsing controls
    • Back button makes history back
    • Pull to refresh the current page
    • Play tap/click sound
    • Add website links to the home screen
    • Support zoom in the web pages
    • Wait for Network connection (instead of loading error pages)
    • Navigate back/forward by swiping over the screen (PLUS)
    • Animated page transitions make a real app-feeling for your web-app (PLUS)
    • Change tabs by swiping (PLUS)
    • Tap home button for Start URL (PLUS, requires Kiosk Mode)
    • Use Fully as standard web browser in Android
    • Open URLs from NFC tags (PLUS)
  • Auto reload website on different events
    • Auto reload on idle, on page load errors (with optional delay)
    • Auto reload when screen goes on, screensaver starts, network reconnects
    • Auto reload when Internet becomes available
    • Remove cookies, history, cache or webstorage on reload
  • Configure your device for the best user experience
    • Remove system bars and use full screen (read FAQ)
    • Keep screen on
    • Set screen brightness
    • Fix screen orientation (landscape, portrait etc.)
    • Force Wifi/Bluetooth enable/disable (ver. 1.33+)
    • Autostart on boot
    • Bypass the lockscreen
    • Sleep on power disconnect
    • Set wakelocks
    • Show battery warning on low battery (PLUS)
    • Schedule times to hibernate and wakeup the device on day of week base (PLUS)
    • Switch screen off on idle (PLUS)
    • Video Screensaver Support (PLUS)
    • Dim screen or use Android daydream for Screensaver (PLUS)
    • Pre-configure Wifi Access by SSID and Keyphrase (PLUS)
  • Screensaver (PLUS)
    • Configure Screensaver  Playlist containing URLs, media files or whole folders and play it when device is idle
    • Set custom Screensaver wallpaper and screen brightness
    • Use Android Daydream/Screensaver instead Fully’s Screensaver
    • Start Fully’s Screensaver as Android Daydream
  • Kiosk Mode (PLUS)
    • Lockdown device with selected exit gesture and defined PIN
    • Disable access to other apps and Android settings for unattended tablets with Android Kiosk Mode
    • Define a separate PIN only for Wifi or other settings access
    • Lock Android system bars in Kiosk mode
    • Lock Home Button (optionally)
    • Restrict hardware buttons
    • Disable camera
    • Lock safe mode
    • App whitelist: Allow selected apps to come to foreground
    • Lockdown device to a single app (single app mode)
    • read more
  • Motion Detection using front cam or microphone (PLUS)
    • Get more attention by switching screen on or stopping screensaver on motion
    • Adjustable motion detection sensitivity and sample rate
    • Recognize darkness (ver. 1.24+)
    • Acoustic motion detection works even in the dark
    • read more
  • Device Movement Detection (PLUS)
    • Detect device movement by accelerometer, compass sensors or iBeacons
    • Detect movement when unplugged (ver. 1.33+)
    • Switch screen on or stop screensaver on movement
    • Play anti-theft alarm sound
  • Website Integration via JavaScript (PLUS)
    • Get device information and control device
    • Manage Fully functionality and settings
    • React on different events like Screen On/Off
    • Detect iBeacons
    • Scan QR code (integrated barcode scanner)
    • Communicate to Bluetooth devices (printers etc.)
    • Get cam shot (requires Motion Detection)
    • Get screenshot
    • Play videos and show PDF
    • Show notifications (ver. 1.33+)
    • Start other Apps
    • Bring Fully in Foreground
    • Print website
    • Text to speech
    • Exit or Restart App
    • read more
  • Remote Admin the Fully app (PLUS)
    • Access by any web browser in the local network or worldwide via VPN
    • Remote Admin from everywhere using Fully Cloud
    • View device and Fully Android Kiosk App info
    • Upload files for local content
    • View and manage Fully Kiosk settings
    • Show screenshot and camshot
    • Easy REST interface for automation
    • read more
  • Daily Usage Statistics (PLUS)
    • Count pageview, touches, reloads, screenons, motion detections, device movements etc.
    • View stats and download CSV in Remote Admin Interface
  • Recover the app
    • Auto restart Fully after crash (PLUS)
    • Auto restart Fully after app or Android Webview update (PLUS)
  • Easy installation, licensing, volume licensing and deployment
    • Install from Google Play or from APK file
    • Export/import settings
    • Different device provisioning methods, read more
    • Easy deployment by settings auto-import, read more
    • Supports deployment by Knox Configure
    • MQTT integration (ver. 1.34+)
    • All PLUS features are unlimited FREE to try
    • Purchase an instant license for the PLUS features (even without Google account), read more
    • Easy volume licensing with one key for 10+ devices
    • Offline licensing if your device may not connect to Internet
    • Customized and white label solutions available, read more
    • Lightweight app, no ads, no tracking
    • Move Fully to SD card (if supported by your Android system)
    • Supports Android 4.4 to 9.0

If you miss any features for your use case please don’t hesitate to ask us.

Please do not expect miracles in the quality of web presentation, the browser performance, or battery usage. Fully Kiosk uses the web engine of Android Webview. It can only show the web pages as well as Chromium can. For the best results on Android 5 and 6 please install Android System Webview from Google Play. On Android 7+ please install the latest Google Chrome app The Chromium engine is then up to date and the website presentation in Fully Kiosk should be the same as in Chrome on Android. More Information.

Android 4.4 contains an outdated and buggy Chromium web engine. There are some display problems known, eg with SVG fonts. Unfortunately it’s not fixable because the Android Webview can’t be updated in Android 4.4.

INSTALLATION.

Get Fully Kiosk Browser app 1.35.2 on Google Play

or Get the latest Beta version

Get Fully Video Kiosk app 1.3 on Google Play

or Get the latest Beta version

Get Fully Single App Kiosk app 1.4 on Google Play

or Get the latest Beta version

Fully Kiosk apps run only with Android 4.4 and newer.

APK files are available in the download box. For Fire OS devices, for deployments and provisioning please install the special editions from APK files. If installing from APK file apps from unknown sources must be enabled in the Android security settings. If you have Google Play installed we recommend disabling auto-updates for Fully Kiosk apps. When updating from APK installation to Google Play (or the other way) the old app often needs to be uninstalled. You can use the settings export/import in Other Settings in order to preserve the configuration.

If you have many devices to install check our provisioning and deployment manuals.

PERMISSIONS.

When installing Fully Kiosk the following permissions are implicitly granted:

  • INTERNET – Internet connection
  • RECEIVE_BOOT_COMPLETED – start at boot
  • DISABLE_KEYGUARD – unlock screen
  • INSTALL_SHORTCUT – add links to the home screen
  • SYSTEM_ALERT_WINDOW – required for kiosk mode
  • REORDER_TASKS – required for kiosk mode
  • WAKE_LOCK – required for kiosk mode
  • READ_EXTERNAL_STORAGE – show local files with file:// and import settings
  • WRITE_EXTERNAL_STORAGE – export settings to file
  • ACCESS_NETWORK_STATE – check network state
  • ACCESS_WIFI_STATE – check WiFi connection
  • CAMERA – required for visual motion detection
  • SET_ALARM – required for scheduled sleep and wakeup
  • ACCESS_COARSE_LOCATION – required for HTML geolocation access
  • ACCESS_FINE_LOCATION – required for HTML geolocation access
  • RECORD_AUDIO – required for HTML microphone access and acoustic motion detection
  • MODIFY_AUDIO_SETTINGS – required for HTML microphone access
  • CHANGE_WIFI_STATE – required for Wifi pre-config
  • GET_TASKS and PACKAGE_USAGE_STATS – required for Kiosk mode
  • WRITE_SETTINGS – required for setting screen brightness
  • NFC – read URLs from NFC tags
  • READ_PHONE_STATE – access IMEI and SIM Serial
  • VIBRATE – make vibration from Webview
  • GET_PACKAGE_SIZE – get app storage stats
  • BLUETOOTH and BLUETOOTH_ADMIN – detect iBeacons, JavaScript BT interface
  • EXPAND_STATUS_BAR – required for Kiosk Mode

When activating the Screen Off Timer, JavaScript Interface, Remote Admin or Scheduled Sleep time Device Administrator Permission is requested in order to lock the device and turn the screen off by Fully Kiosk app. The safe mode lock requires administrator permission in order to set the device PIN. The Device Administrator Permission must be disabled for Fully Kiosk before the app can be uninstalled.

In Android 5+ following runtime permissions are requested when the appropriate settings are activated:

  • Access to Usage Stats – for Kiosk mode app management (on some buggy Android 5.x devices this permission has to be granted manually in Android security settings)

In Android 6+ following runtime permissions are requested when the appropriate settings are activated or on demand:

  • Read/write USB media – on access to a file-URL, on export/import settings, on activating Remote Admin and Kiosk Mode
  • Draw over other apps – on the first start in Kiosk mode, with activated Motion detection and for detecting touches in other apps
  • Disable battery optimization – if prevent sleep feature or motion detection with screen off timer is enabled (ver. 1.32+)
  • Access to Camera – on Motion Detection, JavaScript Interface, QR scan button or HTML Camera access activation
  • Access to Geolocation – on HTML geolocation access, iBeacon detection or Remote Admin activation
  • Record Audio – on HTML microphone access activation or acoustic motion detection
  • Write Settings – when using screen brightness or screensaver brightness settings
  • Make and Manage Phone Calls – when activating Remote Admin or JavaScript Interface for reading IMEI and SIM Serial

In Android 7+ following runtime permissions is requested when the appropriate settings are activated:

  • Change Do Not Disturb Settings – for Playing Alarm Sounds.

In Android 8+ following runtime permissions is requested when the appropriate settings are activated:

  • Install Apps from Unknown Sources – for installing apps via Remote Admin.

Some vendors changed their Android in the way that some runtime permissions can’t be granted. You see a missing permissions list, press OK, but noting happens. Please continue pressing OK. After 3-4 times an IGNORE button will appear (ver. 1.35+). You can let Fully Kiosk to forget the missing permissions. Some features relying on this permission will however fail.

CONFIGURATION.

Menu and settings can be reached by swiping from the left edge to the right.

Web Content Settings
  • Start URL – the Home URL beginning with http: //, https: // or file: //, you can use variables like $mac, $deviceID, $locale, $hostname, $deviceName or $ssid in the URL. You can specify multiple URLs, one URL per line, Fully Kiosk will open URLs on multiple tabs.
  • Username (optional) – user name for Basic HTTP Authentication
  • Password (optional) – password for Basic HTTP Authentication
  • Enable Fullscreen Videos – videos can be switched to full screen
  • Autoplay Videos – autoplay embedded HTML5 videos (this works only with websites having a static <video> tag, not with Youtube for now)
  • Autoplay Audio – autoplay embedded HTML5 audio (this works only with websites having a static <audio> tag for now)
  • Enable Form Autocomplete – save and prefill form data (not in Android 8+)
  • Enable File Upload (PLUS) – allow users to upload files to web forms (disabled in Android 4.4)
  • Enable Camera Capture Upload (PLUS) – allow users to make camera fotos and upload them to web forms (disabled in Android 4.4)
  • Enable Video Capture Upload (PLUS) – allow users to record a video and upload it to web forms (disabled in Android 4.4)
  • Enable Audio Record Upload (PLUS) – allow user to record and upload audio (disabled in Android 4.4)
  • Enable JavaScript Alerts – allow JavaScript alert, prompt and confirm boxed
  • Enable Popups (PLUS) – support popups (also those which open without user interaction) and open links in new frame
  • Enable Webcam Access (PLUS) – allow accessing webcam by HTML5 (Android 5+)
  • Enable Microphone Access (PLUS) – allow accessing microphone by HTML5 (Android 5+)
  • Enable Geolocation Access (PLUS) – allow accessing geolocation by HTML5
  • Open URL Schemes in Other Apps – Allow other apps to open URL schemes like mailto: or intent:
  • View local PDF Files (PLUS) – open local PDF files using different methods:
    • Disabled – ignore PDF files
    • Use PDF.js (ver. 1.25+) – the best rendering directly in the webview incl. clickable URLs, works even in iFrames for most PDF files, may be slow with large files on slow devices, uses PDF.js hosted at Unpkg, other hosting or app integration on request
    • Use Built-in PDF viewer (Android 5+) – fullscreen view only
    • Launch Standard App for PDF – open PDF file in another app
  • View remote PDF Files (PLUS) – open remote PDF files using different methods:
    • Disabled – ignore PDF files
    • Use PDF.js (ver. 1.25+) – the best rendering directly in the webview incl. clickable URLs, works even in iFrames for most PDF files, may be slow with large files on slow devices, uses PDF.js hosted at Unpkg, other hosting or app integration on request
    • Use Built-in PDF viewer (Android 5+) – fullscreen view only
    • Use Google Docs – this doesn’t work for Intranet files
    • Launch Standard App for PDF – download and open PDF file in another app
  • Play videos in Fully (PLUS) – play Android supported videos (incl. RTSP) in Fully built-in player
  • View Other Files – select a way of opening other linked files: disable it, pass an URL to another app or download and pass a file to external app
  • URL Whitelist – enter one full URL (including http:// etc.) per line, use * wildcard, all allowed if empty (look this FAQ for examples), the URLs on the Universal Launcher are whitelisted automatically
  • URL Blacklist – enter one full URL per line (including http:// etc.), use * wildcard, overrides whitelist
  • Redirect Blocked to Start URL – redirect URL blocked by whitelist or blackslist to Start URL
  • Custom Error URL – page to load in case of any error, check query string params error and url for more info about the error; on Android 4.4+ only DNS/connection errors will be caught, on Android 6+ also HTTP errors 40x/50x. For the case of connection errors it’s wise to use local files for the Error URL as described in this FAQ.
  • Load Error URL on Disconnection – load Custom Error URL also in case of Internet disconnection after some seconds delay, set 0 for disabled (ver. 1.27+)
Web Browsing Settings
  • Enable Pull to refresh – allow the down pull to reload the current page. Form data will be resubmitted if enabled in Advanced Web  Settings.
  • Enable Back Button – go one page history back when tapping back button on the navigation bar
  • Load Start URL on Home Button – Tap Home Button to load Start URL (requires Kiosk Mode)
  • Enable Tap Sound – play click sound when tapping in Webview
  • Swipe to Navigate (PLUS) – swipe left/right to go history forward/back
  • Animate Page Transitions (PLUS) – create the app feeling by sliding frames in and out when navigating, hide frame while loading, requires a fast device and fast loading website
  • Swipe To Change Tabs (PLUS) – Swipe left and right to change in open tabs (ver. 1.25+)
  • Wait for Network Connection – never try to load a webpage if no connection available
  • Search Provider URL – use this URL as search provider, requires Address bar enabled, keywords entered on the Address bar are concatenated to this URL, default Google search URL: https://www.google.com/search?q=
  • Read NFC Tags (PLUS) – open URLs from NDEF formatted NFC tags, reading NFC must be enabled in Android settings and Fully Kiosk app must be in foreground. Note that Android devices don’t read NFC tags while the screen is locked (even if Fully Kiosk is showing above the screen lock using the Unlock Screen option).
Web Zoom and Scaling
  • Enable Zoom – allow zooming (in if the website supports)
  • Load in Overview Mode – load website downscaled to device width (useful for older websites)
  • Use Wide Viewport – pay attention to the viewport meta tag of the web page
  • Initial Scale – set initial scale in % (useful for older websites, only enabled if Use Wide Viewport is off, otherwise viewport meta tag overrides
  • Set Font Size – set font scaling in % (default: 100%)
  • View in Desktop Mode – try presenting websites in desktop view instead of mobile view
Web Auto Reload
  • Auto Reload on Idle – automatic reload after x seconds of inactivity
  • Auto Reload after Page Error – automatic reload after x seconds on page load failure; on Android 4.4+ only DNS/connection errors will be caught, on Android 6+ also HTTP errors 40x/50x.
  • Auto Reload on Screen On – automatic reload when screen goes on
  • Auto Reload on Screensaver Stop – automatic reload when screensaver stops
  • Auto Reload on Network Reconnect – automatic reload when WiFi/LAN/LTE reconnects
  • Auto Reload on Internet Reconnect (experimental) – reload Start URL when real Internet connection reappears (checked by pinging Google DNS server at 8.8.8.8 each 10 seconds)
  • Delete Cache on Auto Reload – clear cache before reloading
  • Delele Webstorage on Auto Reload – clear webstorage before reloading
  • Delete History on Auto Reload – clear history and form data before reloading
  • Delete Cookies on Auto Reload – delete cookies before reloading
  • Load Current Page on Auto Reload – always reload current page instead of Start URL on auto reload; if many tabs are opened all tabs will be refreshed; Custom Error URL will revert to the last “good” URL (ver. 1.27+)
  • Skip Auto Reload if Showing the Start URL – Do not auto reload if the start URL is still showing (ver. 1.31+)
Advanced Web Settings
  • Enable JavaScript Interface (PLUS) – Allow website to use Fully’s JavaScript Interface to access app and device information and features – see below
    • Detect iBeacons (PLUS) – scan for iBeacons and trigger event on JavaScript interface when detected
    • Enable QR Code Scanner (PLUS) – enable the integrated barcode scanner from JavaScript interface (ver. 1.30+)
  • Inject JavaScript (PLUS) – run this JavaScript code after loading each page (ver. 1.25+)
  • Enable Keyboard – Enable text input in editable web form fields
  • Enable Text Selection – Enable text select/paste in the Webview by long tap
  • Enable Touch Interaction – Allow any touch interaction in the Webview
  • Enable Scrolling and Dragging – Allow scrolling and dragging by touch in the Webview
  • Enable Third Party Cookies – allow accepting those cookies (Android 5+, always allowed for Android 4)
  • Recreate Tabs on Reload – close web tabs and open new tabs on each Start URL load (ver. 1.27+)
  • Resubmit Form Data on Reload – Resend form data (POST) on each page reload (ver. 1.33+)
  • Localhost File Access (PLUS) – access local files in Webview using https://localhost/… or http://localhost/… URL. So you can embed local files (images or videos) in your website. Check this FAQ. (ver. 1.33+)
  • Add Referer Header – apply Referer Header to HTTP GET requests (ver. 1.33+)
  • Add XFF Header – apply X-Forwarded-For header to HTTP GET requests (ver. 1.33+)
  • Enable Web Filter (PLUS) – load a host list from /sdcard/fully-blackhosts.txt  and block them. So you can make a basic ad blocker. You can get a list of known Ad hosts in text format here (ver. 1.33+)
  • Enable Safe Browsing (experimental) – Block websites Google has classified as a known threat (requires Android 8.1+)
  • Ignore SSL Errors – can be used with self-signed certificates, this makes SSL unsafe
  • Client Certificate File (PLUS) – Client certificate file or URL for client CA authentication, P12 or PFX files allowed (ver. 1.32+)
  • Client Certificate Password – Client certificate private key password (ver. 1.32+)
  • Cache Mode – select Caching Mode for the Webview
  • Clear Cache After Each Page – purge cache after each page loaded
  • Resume Playback when Getting to Foreground – try to resume embedded video and audio when Fully Kiosk is getting to foreground
  • Keep Screen On while in Fullscreen Mode – disable screensaver and screen off timer while the Webview is in fullscreen mode
  • Enable Webview Contents Debugging – enable remote debugging using Chrome DevTools
  • Fake User Agent String – use the agent string of another web browser
  • Custom User Agent String (PLUS) – set an arbitrary UA string (ver. 1.29+)
  • Default Webview Background Color – select background color for the Webview, defaults to white
  • Graphics Acceleration Mode – you can choose among hardware, software or no acceleration, try it if you have rendering issues in Webview; videos will play only with Hardware mode
  • Select Webview Implementation – On Android 7+ opens the developer options where you can select the Webview provider (Webview, Chrome or Chrome beta, if installed)
Universal Launcher
  • Select Items to Show – select apps from the list of installed apps or add URLs for web bookmarks to show on the launcher (more info)
  • Show Launcher on Start – always show the launcher page (fully://launcher) instead of the Start URL
  • Launcher Background Color – select background color for the launcher page
  • Launcher Text Color – select app/bookmark label color for the launcher page (ver. 1.31+)
  • Launcher Page Scaling – set page scaling for launcher page in %, default: 100%
  • Inject HTML Code in Launcher – design your custom launcher layout by injecting CSS/JS code in <head> of the launcher page like this
  • Regain Focus After Idle Time (PLUS) – Bring Fully to foreground after some idle time with no interactions, set 0 for disabled (ver. 1.29+)
Toolbars and Appearance
  • Show Navigation Bar – show system navigation bar (bottom bar) permanently, keep disabled for fullscreen mode, this setting has no effect for devices with hardware home/back buttons
  • Navigation Bar Color – select background color for the navigation bar, alpha transparency is allowed, can specify hex ARGB color code
  • Show Status Bar – show system status bar (top bar) permanently, keep disabled for fullscreen mode
  • Status Bar Color – select background color for the status bar
  • Show Action Bar – show action bar with buttons
  • Action Bar Title – enter text to be shown on the Action bar
  • Action Bar Background color – select background color for the action bar
  • Action Bar Text Color – select text/icon color for the action bar
  • Custom Icon URL – load action bar icon (left on the text) from this URL, can use file:///sdcard/filename.png for local files
  • Custom Background Image URL – load action bar background image from this URL
  • Show Back Button – show back button on action bar
  • Show Forward Button – show forward button on action bar
  • Show Refresh Button – show refresh button on action bar
  • Show Home Button – show home button on action bar
  • Show Print Button – show print button on action bar
  • Show Share Button – show share button on action bar – ver. 1.28+
  • QR Scan Button Action – URL to load on QR code scan success, use $code placeholder for QR code to fill in, keep empty for no QR scan button; you can just put $code into this option if the barcode contains an URL – ver. 1.30+
  • Custom Button Action – URL to load on custom button press, you can use fully://launcher for Universal Launcher, keep empty for no custom button
  • Show Action Bar in Settings – also show the action bar in Settings
  • Show Tabs – show tabs for browser frames, you can load multiple pages by defining multiple Start URLs (one URL per line) – ver. 1.25+
  • Show Close Buttons on Tabs – allow users to close web tabs
  • Show New Tab Button – allow users to open new web tab, the address bar will be needed to enter the URL
  • Active Tab Color – define background color for active tab
  • Inactive Tab Color – define background color for inactive tabs
  • Tab Text Color – define color for tab text and buttons
  • Show Address Bar – show address bar with current URL, Fully will auto-hide address bar when scrolling
  • Address Bar Color – select background color for the address bar
  • Show Progress Bar – show progress bar at the top when loading
  • Progress Bar Color – select color for the progress bar (ver. 1.25+)
Screensaver (PLUS)
  • Screensaver Timer – After how many seconds screensaver will be started, screensaver stops on any user interaction or when motion/movement detected
  • Screensaver Playlist – Select media files, folders, YouTube video/playlists or just web sites to show on the screensaver
  • Screensaver Wallpaper URL – Show this website as screensaver wallpaper, keep it empty for transparent wallpaper. You can use an URL like fully://color#000000 for a solid color page.
  • Play Fullscreen – change to fullscreen mode, hide system bars, when starting screensaver
  • Screensaver Brightness – set screen brightness for Screensaver (0-255), dim your screen when screensaver is playing, empty for default
  • Fade In/Out Duration – set image fading duration in milliseconds, default 200ms
  • Cache Images – Enable caching of network images on the playlist
  • Use Android Daydream – start Android Daydream (called Screensaver starting Android 7) instead of Fully’s Screensaver
  • Android Daydream Settings – open Android settings for the Daydream
  • Use Another App – launch an app on screensaver timer instead of Fully’s playlist (ver. 1.29+)
  • Select Screensaver App – pick an app or specify an intent URL to run (ver. 1.29+). That app must close by itself when detecting a touch or other exit intent.
Device Management
  • Keep Screen On – Screen will always stay on as long as Fully Kiosk is in foreground, device will be prevented from going to sleep
  • Screen Brightness – Set screen brightness 0..255, leave empty for system default
  • Force Screen Orientation – Set screen orientation (only works for Fully, doesn’t force other apps)
  • Unlock Screen – show Fully Kiosk “above” the the lock screen. This works only for Fully Kiosk app, the user interaction may lead to a lock screen when other apps are started – as they are still “behind” the lock screen (file or camera capture uploads, open in other apps, open Wifi or other Android settings, permission dialogs). Check this FAQ and also look for Fire OS limitations
  • Unlock Swipe Screen Lock (experimental) – try to unlock swipe screen lock automatically (Android 8+, ver. 1.32+). This option can help to prevent the bug in some devices when the keyboard is not showing up. This unlock can take 3-4 seconds on many devices for unknown reasons unfortunately.
  • Screen Off Timer (PLUS) – Seconds of inactivity for the screen to be switched off, screen goes on again on any user interaction or when motion detected (if enabled, look in Motion Detection). Note that some devices will suspend the device completely when the screen is off and Motion Detection or Remote Admin can’t run. Look for Fire OS limitations. Please check related settings in Advanced Web Settings and in Other Settings to set the behavior of this option when fullscreen content is played or other apps are in foreground.
  • Force Immersive Fullscreen (experimental) – try making the system bars immersive for other apps – ATTENTION: This is not required for Fully to make the fullscreen for web browser and launcher, use settings in Toolbars and Appearance section. When this mode is activated all key input including keyboard and back key is out of order. We can’t change this unfortunately, this mode is a big hack.
  • Launch on Boot – run at device startup
  • Bluetooth Mode – Force enable or disable Bluetooth on app start (ver. 1.33+)
  • Wifi Mode – Force enable or disable Wifi on app start (ver. 1.33+)
  • Force Wifi SSID (PLUS) – Pre-configure device for some Wifi network, if specified SSID is available Fully will force connection to this Wifi. The Wifi SSID may not be added manually in Android Wifi Settings, let Fully add it, otherwise Fully can’t connect to it.
  • Force Wifi Keyphrase (PLUS) – WPA keyphrase for the SSID above
  • WiFi Settings – open Android’s WiFi settings directly
  • Load Content From ZIP File (PLUS) – load ZIP file from this URL and unpack to /sdcard automatically, check for updates (according to Last-Modified server response header) each hour. Be careful as existing files will be overwritten without any notification (ver. 1.33+)
Power Settings
  • Schedule Wakeup and Sleep (PLUS) – set sleep and wakeup times for each day of week or whole week or weekend only, please use 24h time format HH:MM for settings and note that not each device is capable of waking up on schedule
  • Keep Sleeping if Not Plugged – don’t wake up on schedule if device is unplugged
  • Sleep on Power Connect – hibernate device when power cord is plugged, can be used for nightly charging
  • Sleep on Power Disconnect – hibernate device when power cord is unplugged, can be used for nightly sleep
  • Force Screen Off If Not Power – Don’t allow turning on the screen if device is unplugged. Use with caution! If you enable this option your device will be not operational until you plugin the power cord!
  • Show Battery Warning (PLUS) – show warning on display if battery below this value, set 0 for disable
  • Prevent from Sleep while Screen Off – Try to keep device awake even if the screen is turned off (Android 6+). Otherwise usually many devices will fall asleep as soon as the screen is turned off (ver. 1.32+)
  • Set CPU Wakelock – force CPU to always keep up (usually not needed, doesn’t work with all devices)
  • Set Wifi Wakelock – force Wifi to always keep up (usually not needed, doesn’t work with all device)
Kiosk Mode (PLUS)
  • Enable Kiosk Mode – lockdown device with exit gesture and PIN – read more
  • Kiosk Exit Gesture – select gesture to show PIN dialog from
    • Swipe from Left (default)
    • Fast 5 Taps anywhere (easy)
    • Double Tap Top Left Corner plus Double Tap Bottom Right Corner (all must be done within 3 seconds, hard to guess)
  • Kiosk Mode PIN – password to leave the Android Kiosk mode, PIN dialog will be skipped if you leave it empty
  • Wifi/Settings PIN – another PIN to access Android’s Wifi or other settings only. Caution: On some devices like Samsung Tablets access to Wifi settings allow access to all Android settings what allows the user to disable the Kiosk mode. Try using the Select Wifi Network instead.
  • Wifi/Settings PIN action – Select the action on entering Wifi/Settings PIN of following (ver. 1.33+):
    • Open Android Wifi Settings (default)
    • Open Android Bluetooth Settings
    • Open Android Mobile Network Settings
    • Open Android Connection Settings
    • Open Android OTA Update Settings
    • Select Wifi Network (experimental)
    • Custom Action Intent
  • Wifi/Settings PIN Custom Intent – Specify the Intent URL for the custom action (ver. 1.33+)
  • Disable Status Bar – lock status bar and system settings access – your kiosk won’t be safe if you disable this setting. On some devices if you switch off this option you still can’t expand the status bar if Disable Power Button is enabled. In Android 8+ you can pull down the status bar however it shouldn’t be usable. A better status bar protection is available on provisioned devices and with KNOX features.
  • Disable Volume Buttons – restrict volume buttons in Kiosk Mode (unfortunately can’t lock if other app is in foreground, look for Device Owner Settings for solution with provisioned devices)
  • Disable Power Button – make the power button almost useless in Kiosk Mode, very long press will usually still power off the device. This option will also prevent the device from switching off the screen after display timer set in Android settings. Please use Screen Off Timer option in Fully Kiosk Device Management settings instead.
  • Disable Home Button – lock the home button, if enabled Fully Kiosk will ask to set itself as your Home App
  • Disable Other Apps – block all other apps except apps intentionally started by/from Fully Kiosk, also makes Recent Task Button unusable
  • Advanced Kiosk Protection – enable advanced protection against starting other apps, recent tasks and power button will be useless even when other apps are in foreground. Advanced protection is always enabled when using the universal launcher. This protection will show toast message when blocking other apps. You can add the good apps to the App Whitelist if Fully’s killing to much.
  • App Whitelist – allow selected apps to go to foreground, one package name per line, may use * as wildcard, e.g. set com.skype*  to allow using Skype. All apps started  directly by Fully Kiosk are automatically whitelisted and don’t need to be put on this list.
  • Single App Mode (experimental) – auto-run an app with full kiosk protection. So you can lockdown the device to one single app. Please start your app on the device prior to setting it as your single mode app in Fully for getting the required runtime permissions (or use device provisioning for setting permissions automatically).
    • Important: With Fully Kiosk 1.27 and older you have to swipe 5x fast and short from the top edge then press the Home button immediately to come back to Fully. Then use your selected Fully Exit Gesture to see the PIN dialog. Don’t enable this option if your device has no touchscreen or no home button (onscreen/hardware). You won’t be able to exit from the app.
    • Important: With Fully Kiosk 1.28+ you can use the Single App Mode with Android 8+ devices. Tap 7 times very fast anywhere on the screen to see the PIN dialog.
  • Select Single App – select the app to run in single app mode from the list of installed apps or specify an Intent URL
  • Single App Exit by Remote Admin only – Disable single app mode exit by 7 fast taps. You will only be able to exit from single app mode by the Remote Admin Unlock Kiosk button. Remote Admin must be activated in order this option to have effect. (ver. 1.32+)
  • Lock Safe Mode – Lock Android safe mode, the device PIN lock screen will be activated with your Kiosk PIN for this purpose, may be problematic for starting other apps
  • Disable Camera – disable camera for all apps (including Fully Kiosk, so this will kill the Visual Motion Detection)
Motion Detection (PLUS)
  • Enable Visual Motion Detection – use from camera for motion detection – see below
    • Detector Sensitivity – Detection Sensitivity 0-100, works mostly best at 90-95
    • Detector Frame Rate – detector rate per second (1-25), higher value makes detection more reliable, it cause however a higher CPU load
    • Darkness Level – darkness threshold level (0-100), lower value triggers darkness at lower ambient light level
    • Camera Id – use the specified camera Id, keep empty to use the default front cam. This option is only available if more than 1 camera detected on the device.
    • Show Cam Preview – show small cam preview image
    • Pause when Fully in Background (experimental) – pause motion detection while another app is in foreground
  • Enable  Acoustic Motion Detection – use device microphone for motion detection
    • Acoustic Detector Sensitivity – microphone sensitivity 0-100, works mostly best at 90-100
  • Turn Screen On on Motion – turn screen on when motion detected, look in Device management section for Screen Off Timer
  • Exit Screensaver on Motion – stop screensaver when motion detected, look in Screensaver section for screensaver settings
  • Turn Screen Off in Darkness – turn screen off when darkness detected, keep screen off as long as darkness persists
Device Movement Detection (PLUS)
  • Enable Movement Detection – use accelerometer and compass sensors for movement detection of the device (can be used for anti-theft protection with Alerts from Fully Cloud)
    • Accelerometer Sensitivity – accelerometer sensitivity (0-100) to trigger Movement Detection
    • Compass Sensitivity – compass sensitivity (0-100) to trigger Movement Detection
    • Turn Screen On on Movement – turn screen on when device movement detected, look in Device management above for settings to turn screen off
    • Exit Screensaver on Movement – stop screensaver when device movement detected, look in Device management above for screensaver settings
    • Play Alarm Sound on Movement – play short alarm sound when device movement detected (anti-theft protection)
    • Alarm Sound File URL – play file from this URL on alarm, keep empty for default sound, can use file:// URL for local files (ver. 1.19+)
    • Play Alarm Sound until PIN entered – once alarm is triggered keep playing alarm sound until correct PIN is entered if in Kiosk Mode (ver. 1.19+)
    • Ignore Motion Detection when Moving Device – don’t detect any motion while device sensors detect movement
    • Trigger Movement when Device Unplugged – detect movement when device is unplugged from power source (ver. 1.33+)
    • Anti-Theft Beacon IDs – list of iBeacons as UUID/Majos/Minor (no leading zeros), one beacon per line, may use * wildcard. When a beacon from this list is detected within specified distance, movement will be triggered (ver. 1.19+)
    • Anti-Theft Beacon Distance – distance threshold to iBeacon where to detect movement (in meter,  very approximately!, ver. 1.19+)
Remote Administration (PLUS)
  • Enable Remote Administration – show info, configure and control Fully remotely in any web browser – see below
    • Remote Admin Password – Set password, required for Remote Admin site, for the REST Interface and for Fully Cloud access to the device
    • Remote Admin from Local Network – enable remote admin and REST interface in the local network or via VPN at http://ip-address:2323. You can establish HTTPS connection to Remote Admin if you put a  valid SSL certificate file on device, read more.
    • Enable File Management on Remote Admin – Allow listing and downloading local files using Remote Admin web interface (1.32.2+)
    • Enable Screenshot on Remote Admin – allow getting a screenshot on Remote Admin, this option can’t be changed on Remote Admin
    • Enable Camshot on Remote Admin – allow getting a camshot on Remote Admin (requires Motion Detection), this option can’t be changed on Remote Admin
    • Remote Admin from Fully Cloud – Also enable remote admin worldwide using Fully Cloud service at fully-kiosk.com/cloud
    • Add Device To Fully Cloud – specify account and password to add this device  to Fully Cloud. You can save the cloud credentials (encrypted) in order to copy them to other devices by the deployment process and add other devices automatically to Fully Cloud.
Root Settings (PLUS, rooted devices only, ver. 1.35+)
  • Enable Root Features – Get root privileges for the app and allow root features, use it with caution
  • Daily System Restart – Scheduled time (HH:MM) in 24h format for automatic device restart, keep empty for disabled
  • Shutdown on Power Disconnect – Shutdown the device after defined number of seconds after unplugging, keep 0 for disabled
  • Clear Launcher Apps – reset all launcher apps after Fully Kiosk is in foreground for defined number of seconds, keep 0 for disabled
  • Clear Single App after Idle Time – reset the single app after defined number of inactivity seconds, set 0 for disabled
  • Kill Apps Before Starting Them – Always kill selected apps before starting them, enter one package name per line
Device Owner Settings (PLUS, provisioned devices only)
  • Lock Task Mode  – remove home and recent task button, disable status bar (in Kiosk mode only). Do not enable this mode if you are going to start other apps.
  • Disable Status Bar – better disable status bar (in Kiosk mode only)
  • Disable Keyguard
  • Disable Volume Buttons
  • Disable Screen Capture
  • Disable USB Storage
  • Disable ADB
  • Disable Boot in Safe Mode – this doesn’t work 100% with all devices
  • System Update Policy – select policy for over-the-air system updates: as soon as possible, postpone for 30 days or only in time window 10pm-2am
  • Password Quality
  • Minimum Password Length
  • App Runtime Permission Policy – default runtime permission policy: prompt, grant or deny
  • Disable Apps From Unknown Sources – disable app install from APK file
  • APK Files to Install – enter one URL per line, silent install can be done with Android 6+, requires Disable Apps from Unknown Sources to be switched off
  • App Lock Task Whitelist – allow selected apps to enter the lock task mode, one package name per line
  • System Apps to Enable – enable selected system apps, by default only settings app is enabled, one package name per line
  • Apps to Disable – disable access to selected apps, one package name per line
KNOX Settings (PLUS, Samsung devices only)
  • Enable KNOX Features (experimental) – enable Samsung KNOX features, requires Internet for KNOX licensing. KNOX features are for B2B customers only. KNOX settings will take effect for all apps and even if Fully Kiosk is stopped. Use with caution, there is a small chance to brick the device.
  • Disable Camera – disable camera for all apps
  • Disable Screen Capture – disable screenshots
  • Disable Status Bar – better disable pulling down the status bar
  • Hide Status Bar – remove status bar content (ver. 1.32+)
  • Hide Navigation Bard – remove navigation bar content (ver. 1.32+)
  • Disable Hardware Home Button – disable home button (ver. 1.32+)
  • Disable Hardware Back Button – disable back button (ver. 1.32+)
  • Disable Hardware Power Button – disable power button (ver. 1.32+)
  • Disable Hardware Recent Task Button – disable recent task button (ver. 1.32+)
  • Disable Hardware Volume Keys – disable volume keys (ver. 1.32+)
  • Disable USB Host Storage – disable USB access to external storage and devices
  • Disable Media Transfer Protocol – disable USB access to device storage via MTP
  • Disable Safe Mode – disable safe mode
  • Disable Multiple Users – Disable multiple user support, users can’t create new user or login as guest
  • Disable Air Command Mode – (ver. 1.32+)
  • Disable Air View Mode – (ver. 1.32+)
  • Disable Edge Screen – (ver. 1.32+)
  • Disable Multiple Window Mode – (ver. 1.32+)
  • Disable Task Manager – (ver. 1.32+)
Other Settings
  • Daily Usage Statistics (PLUS) – Gather locally on this device usage stats on daily base, available only for you in Remote Admin interface
  • MQTT Integration (PLUS) – send device info and events to MQTT broker, look here for docs
    • Enable MQTT
    • MQTT Broker URL – specify your MQTT broker URL like this tcp://farmer.cloudmqtt.com:18075
    • MQTT Broker Username
    • MQTT Broker Password
  • Restart Fully After Crash (PLUS) – restart the app after any crash
  • Restart Fully After Update (PLUS) – restart the app after update of Fully or Android System Webview
  • Run as Priority App – Try prevent Android System from killing Fully even when resources are low and try to restart when killed
  • Consider Device in Use while Keyboard Visible – don’t run features like screensaver, screen off, reload on idle when keyboard is open. With this option you can avoid starting on idle features while the soft keyboard is open (ver. 1.25+)
  • Consider Device in Use while Using Another App – don’t run features like screen off, reload on idle when another app is in foreground or screen is off (ver. 1.31+). For screensaver with other app check this FAQ.
  • Touching Other Apps Restarts Idle Timer – don’t run the idle features like screensaver, screen off time, reload on idle when user keeps touching the screen even if another app or virtual keyboard is in foreground (ver. 1.29+)
  • Go To Background Timer (PLUS)  – bring Fully Kiosk to the background after some idle time (set it in seconds)
  • Enable Version Info – show update summaries on startup
  • Show Menu Hint on Start – show demo and hint wen Fully starts
  • Confirm Exit – show confirmation box on exit
  • Export Settings – write all settings to fully-settings.json
  • Import Settings – pick a JSON settings file and read all settings from
  • Enable Settings Auto-Import – auto-import settings from fully-auto-settings.json and fully-once-settings.json at app start – use for fast deployment
  • Get All Runtime Permissions – request all missing runtime permissions regardless of the current need
  • Device ID – show device ID, tap to copy to clipboard and to fully-deviceID*.txt file for offline licensing
  • Volume License Key – for easy volume licensing enter your Volume License Key here. You can get it if you order for 10+ devices, please use Get a PLUS License menu item for single licenses. When removing this key, your device will be unregistered from the volume license. Volume Licensing require the Internet connection when device is registered and unregistered. Offline licensing is also available.
  • Version Info – show last update info now
  • Device Info – show device info summary, please sent us a copy when reporting a bug

The credentials (basic HTTP authentication) can be included in the start URL (eg http://user:pass@server:8084/fhem/ftui/ ) or entered in the Web Content Settings Username and Password.

Local files can be used for all URLs like this: file: ///sdcard/test.html (note triple slash!) For Android 6+ permission for access to local files is requested and must be granted. Note that any links to local files or embedding local files in HTTP/HTTPS documents are disabled by Android Webview for some security reasons. Use Localhost File Access option (ver. 1.33+) for workaround. Check this FAQ for details.

All settings (except some) can be also set from the Remote Admin or Fully Cloud or via JavaScript and REST interfaces of Fully Kiosk. You can export/import the settings file as JSON file from the app (look in Other Settings) or as JSON/DAT file from Remote Admin. You can also auto-import settings from file, look at Deployment chapter for details.

When updating APK to Google Play or the other way the old app may need to be un-installed first. Please use export/import settings in order to preserve them.

ADD TO HOMESCREEN.

This menu feature creates a link to the currently open web page on the Android Home screen. So you can set a favorite/bookmark to any web page including the universal launcher. The title of web page is taken as link title. Fully Kiosk tries to find the best available favicon to use as link icon for the current URL. You can put several links to various websites on the Home screen. Clicking such link opens Fully Kiosk with the web URL stored in the link.

KIOSK MODE (PLUS).

In the Kiosk Mode the Fully App sets up an Android Kiosk Mode with kiosk gesture and PIN protection. Usually you also want to disable the home button, the access to Android settings and other apps. For this purpose Fully Kiosk will ask you to set it as the default Home App (Launcher). Then by clicking on the Home button the user remains locked in Fully and won’t get to the default Android launcher.

The Kiosk Mode can be easily turned on or off in the Fully Kiosk settings. Leave the settings and follow instructions in order to activate or deactivate the Kiosk Mode. With Android 5+ before the first start in Kiosk Mode some additional permissions are requested and should be granted.

Note that user input is required on the device to enable/disable the Kiosk Mode. For this reason changing the Kiosk Mode from Remote Admin or by remote import of a settings file is intentionally disabled. You  can however enable the Kiosk Mode by auto-importing the settings file as described in our deployment guide. Enabling the Kiosk Mode without any user interaction is only possible by device provisioning.

The system bars, the camera, the power button and the volume buttons can also be blocked in Kiosk Mode. However a very long press on the power button will still cause the most devices to switch off. In Android 8+ the status bar pull-down can’t be locked but Fully Kiosk will try to close the status bar immediately and it shouldn’t be usable. We recommend Device Provisioning for Android 8+ devices for better protection.

Some moderate hacks are necessary to establish the Kiosk Mode in Android. Therefore, some devices or Android versions may fail with it. We recommend all users who need to use the Android Kiosk Mode to test it thoroughly including rebooting device in Kiosk mode, entering PIN and switching Kiosk Mode completely off before deploying to production. If something goes completely wrong you can factory reset your device in order to exit the kiosk mode.

If you define the Wifi/Settings PIN you will get to Wifi or other settings when you enter this PIN. The restrictions for other apps apply while the Wifi or other Android settings are in foreground.

Fully Kiosk can also lockdown other apps in Kiosk Mode. Read this FAQ for details and restrictions. You can even lockdown the device to a single app using the Single App Mode or by using our Fully Single App Kiosk app. Note that exiting from this mode REQUIRES 7 FAST TAPS!

MOTION DETECTION (PLUS).

The visual motion detection uses the front camera of the device. This feature is experimental. Some devices are known for their cameras do not start or stop after some time. Motion detection is high battery consuming as the cam must be running permanently.

The detection works pretty good with the Detector Sensitivity setting at 90-95 if there is enough light. With the Show Preview Cam option you will get a small cam preview in the lower right corner, so you can see cam coverage.

When switching the visual motion detection for the first time three additional runtime permissions will be needed  in Android 6+: Administration rights, Draw over other apps and Access to Cam. Keep calm and enable everything.

The acoustic motion detection uses the microphone of the device and can work even in complete darkness very efficiently. Try around and set the appropriate sensitivity.

When motion is detected the screen is switched on. You can specify on Device Management section with Screen Off Timer setting in seconds how fast the screen has to be off again. Device Admin permission must be enabled for Fully in order to turn screen off. (This has nothing to do with Android root privileges. Root access is not required for Fully unless you want to use the Root Features.) Before the Fully app can be uninstalled, device admin permission must be disabled.

REMOTE ADMIN (PLUS).

You can manage your Fully Kiosk app remotely on devices in your local network or worldwide via VPN. If you have a PLUS license for your device this service is FREE of any charges. With Fully Cloud you can connect to Remote Admin from everywhere.

Enable Remote Admin and specify a password in Fully Settings and connect in any web browser to http://ip-address-of-device:2323 You can make this connection HTTPS if you put a SSL certificate onto device (ver. 1.27+).

How to generate and put a self signed SSL certificate?

You need Openssl and some Linux knowledge to create a SSL certificate for the device. First create a root certificate (for signing other CAs) using a script like this:

#!/bin/bash
mkdir CA
openssl genrsa -aes256 -out CA/rootCA.key 4096
openssl req -x509 -new -nodes -key CA/rootCA.key -sha256 -days 3650 -out CA/rootCA.crt

Import the rootCA.crt as Trusted Root Authority in your web browser.

Now create a domain certificate fully-remote-admin-ca.p12 with password “fully” for each device using a script like this. Each device must be addressed in your local network by a hostname like device4711.network.my, not by the IP address.

#!/bin/bash

if [ -z "$1" ]
then
echo "Please supply a domain to create a certificate for";
echo "Usage:"
echo "$0 device4711.network.my"
exit;
fi

openssl req -new -nodes -keyout domain.key -out domain.csr -days 3650 -subj "/C=DE/L=Some/O=Acme, Inc./CN=$1"
openssl x509 -req -days 3650 -sha256 -in domain.csr -CA CA/rootCA.crt -CAkey CA/rootCA.key -CAcreateserial -out domain.crt -extensions v3_ca -extfile <(
cat <<-EOF
[ v3_ca ]
subjectAltName = DNS:$1
EOF
)

openssl pkcs12 -export -out fully-remote-admin-ca.p12 -inkey domain.key -in domain.crt -passout pass:fully

echo Generated self signed CA for $1 in fully-remote-admin-ca.p12
openssl pkcs12 -in fully-remote-admin-ca.p12 -nodes -passin pass:"fully" | openssl x509 -noout -text

Now copy fully-remote-admin-ca.p12 file onto device into /sdcard folder and restart Fully Kiosk. Remote Admin will now be available at the location like https://device4711.network.my

This setup works at least with current Google Chrome on Windows 10 without any warnings. Using other clients may need a slightly different SSL setup.

These features are available on the Remote Admin web interface:

  • Show current device and Fully Kiosk state information
  • View/edit all 200+ Fully Kiosk settings
  • List, upload, download, delete available settings files
  • Export/import settings to/from a settings file – Enable Kiosk Mode, Enable Remote Admin, Remote Admin from Fully Cloud and Remote Admin Password will not be changed when importing a settings file.
  • Export/import settings in JSON file – editable text format
  • Load Start URL
  • Load arbitrary URL
  • Show screenshot from device (does not include video content or other apps)
  • Show camshot from device (requires Motion Detection)
  • Detect current app in foreground, bring Fully to Foreground
  • Close Settings, Screensaver and other special views
  • Turn screen on/off
  • Show device geolocation
  • Show and CSV download of usage stats
  • Lock device to maintenance mode
  • Show a message in an overlay (ver. 1.34+)
  • Load and uncompress contents from ZIP file to /sdcard – Can be used for the local content management. Be careful, existing files will be overwritten when extracting from ZIP file. Check this FAQ
  • Load and install an APK file – user input is requires on the device in many cases – check this FAQ.

FULLY CLOUD.

With Fully Cloud you can organize, monitor and remote configure your Fully Kiosk devices from everywhere (even if your devices are in a local network behind NAT). You can also make fast Device Provisioning and manage apps with Enterprises. Fully Kiosk does not change anything in your network, no port forwarding or VPN is needed. You have to enable Remote Admin from Fully Cloud option and set the Remote Admin Password in the Fully Kiosk settings.  Check the Cloud HowTos for more info.

Launch Fully Cloud
Features Feature set
Add devices to your account by Device ID or Volume License Key BASIC
View current device information BASIC
View device locations on Google Map BASIC
Create groups and arrange devices in groups BASIC
Rename device to nice aliases BASIC
Create configurations and make fast device provisioning (different methods supported) BASIC
Create Google Play Managed Enterprises and silently manage apps, managed configurations and app permissions on devices (required Google Account and Google Play connection) EARLY ADOPTER
Use all features from device’ Remote Admin from everywhere ADVANCED
Remote push a new configuration to device ADVANCED
Device monitoring: get an eMail or Pushbullet alert when the device gets disconnected from power supply or from the Internet, or if your device’ battery is low, or device is moving (anti-theft alert) ADVANCED
Send action commands to device for maintenance lock, screen on/off, restart, settings import, device lock/wipe/reboot, install APK file, load and unzip a ZIP file etc. ADVANCED
Mass device admin: Make actions on all selected devices at once, queue actions for offline devices until they go online ADVANCED
Use Fully Cloud API to get device info and remote control Fully Kiosk device from your software (ask us for details) ADVANCED
BASIC EARLY ADOPTER ADVANCED
1 Trial Month FREE 1 Trial Month FREE 1 Trial Month FREE
After Trial Month:
Fully PLUS License required Fully PLUS License required Fully PLUS License required
No other fees No other fees
for devices added
until December 2019
Fully Cloud
Subscription 
required

The trial month starts for each device by adding this device to Fully Cloud. After the trial period a Fully Cloud Subscription is required for using Advanced Features. The subscription is max. 1.20 €/month per device, annual payment 15% discount, more discount for each additional device on the same subscription. Make a free account and use the fee calculator in Fully Cloud on the Subscriptions menu. For example, if you make a subscription with 100 devices and pay annually it’s only 0.82 €/month per device.

The subscription fee is paid by PayPal subscription with 3 or 12 months period. You can cancel your PayPal subscription anytime in your PayPal account. The subscription will remain active all the time paid and no fees will be refunded. The number of the devices on the subscription and the amount can’t be changed once the subscription has started. You can however add another subscription anytime. Consider adding some spare devices as every additional device on the subscription makes the price per device cheaper. There is however no refund for unused spare devices or unused trial time. Please test everything with your devices prior to starting a subscription.

FULLY APP REST INTERFACE (PLUS).

If you have Remote Admin enabled you can use its features as a simple REST API interface in order to control the device from your local network. The base URL address is always http://ip-address:2323. You can make this connection HTTPS as described in the Remote Admin section.

You have to specify the Remote Admin Password on the URL. Don’t forget to URLencode all query string parameters. You can add type=json to the query string in order to get a short JSON response.

Device Info and Basic Features
// Device Info
/?cmd=deviceInfo&password=[pass]

// Basic features
/?cmd=loadStartUrl&password=[pass]
/?cmd=loadUrl&url=[url]&password=[pass]/?cmd=loadUrl&url=[url]&tab=[0..n]&focus=[true|false]&password=[pass]/?cmd=loadUrl&url=[url]&newtab=[true|false]&focus=[true|false]&password=[pass]
/?cmd=clearCache&password=[pass]
/?cmd=clearWebstorage&password=[pass] 
/?cmd=clearCookies&password=[pass]  (ver. 1.28+)
/?cmd=restartApp&password=[pass] 
/?cmd=exitApp&password=[pass] 
/?cmd=screenOn&password=[pass]
/?cmd=screenOff&password=[pass]
/?cmd=forceSleep&password=[pass] 

// Simulate motion 
/?cmd=triggerMotion&password=[pass] 
Screensaver and Daydream
// Screensaver and daydream
/?cmd=startScreensaver&password=[pass]
/?cmd=stopScreensaver&password=[pass]
/?cmd=startDaydream&password=[pass] (ver. 1.24.1+)
/?cmd=stopDaydream&password=[pass] (ver. 1.24.1+)
App Management
// Start other apps and bring Fully app to foreground
/?cmd=startApplication&package=[pkg]&password=[pass]
/?cmd=toForeground&password=[pass]

// Return to webview if any view (PDF, Video, Settings, Menu) is open
/?cmd=popFragment&password=[pass] 

// Download and launch APK file, user input can be required for install
/?cmd=loadApkFile&url=[url]&password=[pass]

// Lock/unlock device for maintenance
/?cmd=enableLockedMode&password=[pass]
/?cmd=disableLockedMode&password=[pass]
// Show message in an overlay (1.34+)
/?cmd=setOverlayMessage&text=[text]&password=[pass]
Get Stats, Screenshot and Camshot
// Load full usage stats CSV file
/?cmd=loadStatsCSV&password=[pass]

// Get screenshot image (PNG)
/?cmd=getScreenshot&password=[pass]

// Get camshot image (requires Motion Detection)
/?cmd=getCamshot&password=[pass] 
Use TTS and Multimedia
// Text to speech
/?cmd=textToSpeech&text=[text]&password=[pass] 
/?cmd=textToSpeech&text=[text]&locale=[locale]&password=[pass] 
/?cmd=textToSpeech&text=[text]&locale=[locale]&engine=[engine]&password=[pass] 

// Sounds and volume
/?cmd=setAudioVolume&level=[0-100]&stream=[1-10]&password=[pass]
/?cmd=playSound&url=[url]&loop=[true|false]&password=[pass]&stream=[1-10]
/?cmd=stopSound&password=[pass]
/?cmd=playVideo&password=[pass]&url=[url]&loop=[0|1]&showControls=[0|1]&exitOnTouch=[0|1]&exitOnCompletion=[0|1]
Manage Settings
// Change any of 200+ Fully settings, look in Remote Admin for keys
// New setting will be applied immediately
/?cmd=setBooleanSetting&key=[key]&value=[true|false]&password=[pass] 
/?cmd=setStringSetting&key=[key]&value=[value]&password=[pass] 

// Import settings file (dat/json) from /sdcard
/?cmd=importSettingsFile&filename=[filename]&password=[pass]
File Management
// Download and upzip file to /sdcard
/?cmd=loadZipFile&url=[url]&password=[pass]

JAVASCRIPT INTERFACE (PLUS).

The JavaScript interface allows the website integration with device and Fully features. Don’t forget to enable Advanced Web Settings >> Enable JavaScript Interface option when using the JavaScript interface. Following JavaScript functions are implemented in Fully Kiosk Browser (including beta versions).

Get device info
String fully.getCurrentLocale()
String fully.getIp4Address()
String fully.getIp6Address()
String fully.getHostname()
String fully.getHostname6()
String fully.getMacAddress()
String fully.getMacAddressForInterface(String interface)
String fully.getWifiSsid()
String fully.getWifiSignalLevel()  // ver. 1.30+
String fully.getSerialNumber()
String fully.getDeviceId()
String fully.getImei()
String fully.getSimSerialNumber()
float fully.getBatteryLevel()
float fully.getScreenBrightness()
int fully.getDisplayWidth()
int fully.getDisplayHeight()
boolean fully.getScreenOn()
boolean fully.isPlugged()
boolean fully.isKeyboardVisible()
boolean fully.isWifiEnabled()
boolean fully.isBluetoothEnabled()
String fully.getFullyVersion()
int fully.getFullyVersionCode()
String fully.getWebviewVersion()
String fully.getAndroidVersion()
int fully.getAndroidSdk()
String fully.getDeviceModel()

// Ver. 1.33+
long fully.getInternalStorageTotalSpace()
long fully.getInternalStorageFreeSpace()
long fully.getExternalStorageTotalSpace()
long fully.getExternalStorageFreeSpace()
Control device, manage files, send network data
void fully.turnScreenOn()
void fully.turnScreenOff() 
void fully.turnScreenOff(boolean keepAlive) 
void fully.forceSleep()
void fully.showToast(String text) 
void fully.setScreenBrightness(float level)
void fully.enableWifi()
void fully.disableWifi()
void fully.enableBluetooth()
void fully.disableBluetooth()
void fully.showKeyboard()
void fully.hideKeyboard()
void fully.openWifiSettings()
void fully.openBluetoothSettings()
void fully.vibrate()

void fully.deleteFile(String path)   
void fully.deleteFolder(String path) // recursive!
void fully.emptyFolder(String path)  // recursive, ver. 1.30+
String fully.getFileList(String folder)  // get JSON array, ver. 1.31+
void fully.downloadFile(String url, String dirName)
void fully.downloadAndUnzipFile(String url, String dirName)
void fully.sendHexDataToTcpPort(String hexData, String host, int port)

void fully.showNotification(String title, String text, String url, boolean highPriority) // ver. 1.33+
Use multimedia and PDF
void fully.textToSpeech(String text)
void fully.textToSpeech(String text, String locale)
void fully.textToSpeech(String text, String locale, String engine)
void fully.playVideo(String url, boolean loop, boolean showControls, boolean exitOnTouch, boolean exitOnCompletion)
void fully.setAudioVolume(int level, int streamType)
void fully.playSound(String url, boolean loop)
void fully.playSound(String url, boolean loop, int streamType) void fully.stopSound() void fully.showPdf(String url) int fully.getAudioVolume(int streamType)
Control Fully and Browsing
void fully.loadStartUrl()
void fully.setActionBarTitle(String text)
void fully.startScreensaver()
void fully.stopScreensaver()
void fully.startDaydream()
void fully.stopDaydream()
void fully.addToHomeScreen()
void fully.print()  // window.print() doesn't work
void fully.exit()
void fully.restartApp()
String fully.getScreenshotPngBase64()
String fully.loadStatsCSV()
void fully.clearCache()
void fully.clearFormData()
void fully.clearHistory()
void fully.clearCookies()
void fully.clearWebstorage()
void fully.focusNextTab()  
void fully.focusPrevTab()
void fully.focusTabByIndex(int index)
int fully.getCurrentTabIndex()
void fully.shareUrl()
// 1.35+
void fully.closeTabByIndex(int index)
void fully.closeThisTab()
String fully.getTabList() // returns a JSON array
void fully.loadUrlInTabByIndex(int index, String url)
void fully.loadUrlInNewTab(String url, boolean focus)
int fully.getThisTabIndex()
void fully.focusThisTab()
Barcode Scanner (ver. 1.30+)
// Use $code placeholder in the resultUrl, see example below
void fully.scanQrCode(String prompt, String resultUrl)

// Ver. 1.31+, enhanced interface
// Use -1 for cameraId and timeout (in seconds) for defaults 
void fully.scanQrCode(String prompt, String resultUrl, int cameraId, int timeout, boolean beepEnabled, boolean showCancelButton)

// Ver. 1.31+, respond to QR events
void fully.bind('onQrScanSuccess','todo(\'$code\');')
void fully.bind('onQrScanCancelled','todo();')
Bluetooth Interface (ver. 1.31+)
// Open BT connection
// These functions are async, use events below to get results
boolean fully.btOpenByMac(String mac)
boolean fully.btOpenByUuid(String uuid)
boolean fully.btOpenByName(String name)

// Get info and close connection
boolean fully.btIsConnected()
String fully.btGetDeviceInfoJson()
void fully.btClose()

// Send data
boolean fully.btSendStringData(String stringData)
boolean fully.btSendHexData(String hexData)
boolean fully.btSendByteData(byte[] data)

// Respond to events
void fully.bind('onBtConnectSuccess','todo("$device");');
void fully.bind('onBtConnectFailure','todo();');
void fully.bind('onBtDataRead','todo("$data");');
Respond to events
void fully.bind('screenOn','todo();')
void fully.bind('screenOff','todo();')
void fully.bind('showKeyboard','todo();')
void fully.bind('hideKeyboard','todo();')
void fully.bind('networkDisconnect','todo();')
void fully.bind('networkReconnect','todo();')
void fully.bind('internetDisconnect','todo();')
void fully.bind('internetReconnect','todo();')
void fully.bind('unplugged','todo();')
void fully.bind('pluggedAC','todo();')
void fully.bind('pluggedUSB','todo();')
void fully.bind('pluggedWireless','todo();')
void fully.bind('onScreensaverStart','todo();')
void fully.bind('onScreensaverStop','todo();')
void fully.bind('onBatteryLevelChanged','todo();')
void fully.bind('onMotion','todo();') // Max. one per second
void fully.bind('onDarkness','todo();') // Requires screen off on darkness
void fully.bind('onMovement','todo();') 
void fully.bind('onIBeacon','todo("$id1","$id2","$id3",$distance);')
Manage applications
void fully.startApplication(String packageName)
void fully.startApplication(String packageName, String action, String url)  // Can put null to omit the parameter in ver. 1.33+
void fully.startIntent(String url)
void fully.broadcastIntent(String url)     // ver. 1.31+
boolean fully.isInForeground()
void fully.bringToForeground()
void fully.bringToForeground(long millis)   // Delay in ms
void fully.bringToBackground()              // ver. 1.31+
Motion detection
void fully.startMotionDetection()
void fully.stopMotionDetection()
boolean fully.isMotionDetectionRunning()
String fully.getCamshotJpgBase64()
void fully.triggerMotion()
void fully.bind('onMotion','todo();') // Max. one per second
Manage all Fully settings
String fully.getStartUrl()
void fully.setStartUrl(String url)
// Look in Remote Admin settings list for the keys
String fully.getBooleanSetting(String key)
String fully.getStringSetting(String key)
// Changes apply immediately
void fully.setBooleanSetting(String key, boolean value)
void fully.setStringSetting(String key, String value)

Samples how to use the JavaScript interface:

How to use JavaScript Interface?
<!-- Make actions -->
<button type="button" onclick="fully.openWifiSettings();">Wifi</button>

<!-- Show values -->
<button type="button" onclick="alert(fully.getMacAddress());">Mac address</button>

<!-- Listen for events -->
<script>
function myMotion() { alert("Motion"); }
fully.bind('onMotion','myMotion();');
</script>

<!-- Listen for iBeacon -->
<script>
function onBeacon (id1,id2,id3,distance) {
  alert("iBeacon found: "+id1+"/"+id2+"/"+id3+" in "+distance+" meter");
}
fully.bind('onIBeacon','onBeacon("$id1","$id2","$id3",$distance);');
// You can also use $mac, $name, $type, $manufactorer as placeholders
</script>

<!-- Scan QR Code -->
<script>
<button type="button" onclick="fully.scanQrCode('Prompt text','javascript:alert(\'$code\');');">Scan QR Code</button>
</script>
<!-- Identify Fully Kiosk Browser -->
<script>
if (typeof FullyKiosk !== "undefined")
  document.writeln("<h1>Fully Kiosk working</h1>");
</script>

<!-- Print on Bluetooth Printer -->
<script>
fully.bind('onBtConnectSuccess','alert(\'BT connected: $device\');
fully.bind('onBtConnectFailure','alert(\'BT failed\');');
fully.btOpenByUuid('0000110a-0000-1000-8000-00805f9b34fb');
</script>
<button type="button" onclick="alert(fully.btSendHexData('68656c6c6f0a'));">btSendHexData()</button>
<button type="button" onclick="alert(fully.btSendStringData('Hello\n'));">btSendStringData()</button>
<button type="button" onclick="alert(fully.btSendByteData(new Uint8Array([104, 101, 108, 108, 111, 10])));">btSendByteData()</button>

If you can’t change the website you can use the Inject JavaScript feature in order to put your scripts in other websites.

MQTT INTEGRATION.

Starting Fully Kiosk Browser 1.34 we support publishing device info and major device events to the MQTT broker. You can setup the broker URL (like tcp://farmer.cloudmqtt.com:18075) and credentials in Other Settings.

The complete device info will be published every 60 seconds as fully/deviceInfo/[deviceId] topic (retaining, QOS=1).

Events will be published as fully/event/[eventId]/[deviceId] topic (non-retaining, QOS=1). Following events are implemented for now: screenOn, screenOff, pluggedAC, pluggedUSB, pluggedWireless, unplugged, networkReconnect, networkDisconnect, internetReconnect, internetDisconnect, powerOn, powerOff, showKeyboard, hideKeyboard, onMotion, onDarkness, onMovement, volumeUp, volumeDown, onQrScanCancelled, onBatteryLevelChanged, onScreensaverStart, onScreensaverStop.

FULLY VIDEO KIOSK.

Fully Video Kiosk is our separate app for playing videos and image slideshows on Android devices with full kiosk mode protection. With Fully Video Kiosk you can manage a playlist containing URLs to media files or websites as well as files and folders from the local  internal/external storage.

Fully Video Kiosk is available on Google Play and as APK file

Fully Video Kiosk can play:

Fully Video Kiosk contains all features included in Fully Kiosk Browser except NFC Tag reading, Single App Kiosk Mode and Universal Launcher.

Additional configuration settings in Fully Video Kiosk:

Playlist Settings
  • Select Items to Show – Manage playlist: Select media URL, files, folders, web sites or YouTube videos/playlists to show. You can specify to loop each playlist item, skip item on user interaction, play next after x seconds. For folders you can also specify the file play order. Folders will be played recursively including all subfolders.
  • Wallpaper URL – Website to show as wallpaper
  • Fade In/Out Duration – set image/video fade in/out duration in milliseconds (default: 100 ms).
  • Loop Playlist – start playing from beginning when end of playlist reached
  • Show Throbber – show throbber while preparing image/video to play (can’t remove throbber for YouTube videos)
  • Show Play Controls – show auto-hiding play controls when playing videos (no controls for YouTube videos)
  • Show URL/Filename – show URL or filename when starting playing
  • Show Errors – show error on media play failure
Playlist Auto Restart
  • Auto Restart on Idle – restart playlist after some seconds of inactivity
  • Auto Restart on Screen On – restart playlist when the screen goes on
  • Auto Restart on Screensaver Stop – restart playlist when screensaver stops
  • Auto Restart on Network Reconnect – restart when Wifi/LAN/LTE reconnects
  • Auto Restart on Internet Reconnect – restart playlist when real internet connection reappears

There are additional JavaScript interface functions to control the player which can be used in the wallpaper or playlist sites:

fully.playerStart(), fully.playerStop(), fully.playerPause(), fully.playerResume(),  fully.playerNext()

There are also corresponding REST interface features cmd=playerStart, cmd=playerStop, cmd=playerPause, cmd=playerResume and cmd=playerNext included.

A Fully PLUS License is also valid for Fully Video Kiosk. You can obtain a Fully PLUS license for the device and use it with any Fully Kiosk app at your choice.

The default settings file is called fully-video-settings.json. You can use fully-video-auto-settings.json or fully-video-once-settings.json for auto import when deploying.

You can add the Fully Video Kiosk device to Fully Cloud, organize and control it there too. Add :23 to the Device ID when adding such device to the Fully Cloud.

Known Restrictions:

  • In Kiosk Mode the home button and the recent app button shortly pauses the playback.
  • Remote Admin screenshot does not show video content.

Your feedback is welcome!

FULLY SINGLE APP KIOSK.

Fully Single App Kiosk is our separate app for locking down the device to one selected app. Everything else will be blocked. Fully Single App Kiosk is very easy to configure. Just select an app, set a Kiosk PIN, ready!

Remember to TAP VERY FAST 7 TIMES in order to see the PIN dialog.

Fully Single App Kiosk is available on Google Play and as APK file For deployment, device provisioning and Fire OS devices please use the single app mode in our Fully Kiosk Browser app.

A Fully PLUS License is also valid for Fully Single App Kiosk. You can obtain a Fully PLUS license for the device and use it with any Fully Kiosk app at your choice.

You can add the Fully Single App Kiosk device to Fully Cloud, organize and control it there too. Add :56 to the Device ID when adding such device to the Fully Cloud.

Known Restrictions:

  • On Android 8+ devices the Status Bar can’t be locked while device lock screen is displayed. Please disable screen lock in Android settings as workaround. You can use device provisioning or KNOX features for reliable status bar lock.
  • Remote Admin screenshot does not show other apps.

Your feedback is welcome!

GETTING A PLUS LICENSE.

All PLUS features are FREE to try. Please test all needed Fully Kiosk features with your website and your devices before ordering a license. If something isn’t working please contact us before ordering a license. Ordering a license won’t fix any bug.

If you like the PLUS features get a Fully PLUS License. This license work with all Fully Kiosk apps and with this license you can now use the Basic Fully Cloud Features. The PLUS license can be comfy obtained directly in the Fully Kiosk app menu. You can use the following button for the case if you prefer using another device/browser:

Get a PLUS License for Fully Kiosk

A Fully PLUS single license is only 5.90 EUR per device – one-time payment payable with PayPal for a lifetime license. There are no other fees/taxes on our invoice and you’ll get all future updates for the Fully Kiosk app including all future PLUS features. The license is activated immediately after the payment is completed. Internet connection is required on your Android device. You can even move your licence to another device later if you need. Just use this form in that case:

Move a PLUS License to a new device

If you order a license for more than 10 devices you can use Fully PLUS Volume Licensing with special conditions. You will get one Volume License Key (like ABCDEF0815) which can be used for activating the license on all your devices. You can enter this key in Fully’s Other Settings and the license will be activated for this device automatically (Internet connection required). Check our manual for the fast deployment process. Please use this calculator for the volume pricing and orders:

Get Fully PLUS Volume License Price

You can check your Fully PLUS Volume License status and list registered devices here. You can un-register the device from the Volume License by removing the volume key from Other Settings.

If you’ve got a Volume License but your device may not connect to Internet for some reasons you can use Offline Licensing. However it’s some more work. Go on each device to Fully’s Other Settings and tap on Device ID. Device ID will be written to the file fully-deviceID*.txt.  Then collect the Device IDs from all your devices and use this form. You will get a license file fully-license-bunch.txt which you will have to put back on each device. Please use the Deployment Edition APK with Android 6+ for Offline Licensing. Then the file containing the Device ID will be generated automatically on the first app start after you grant the Media Read/Write Permissions and the license file can be read.

DEVICE PROVISIONING.

Device provisioning is the fastest way to setup factory new or resetted devices. Fully Kiosk supports all available methods of Android device provisioning. You can configure the provisioning settings and get detailed step by step instructions in Fully Cloud. Just get a free Fully Cloud account and try it. Once configured you can setup new devices with almost no manual effort.

Provisioning Methods NFC Activation Code DPC Identifier QR Code ADB (manual)
Restrictions for Target Devices Android 5+, NFC capable devices only Android 5.1 only Android 6+ Android 7+ Android 5+
New or Factory Resetted Device Required yes yes yes yes no
Connect to Wifi automatically
yes no no Android 7-8: no
Android 9+: yes
no
Manual Enter
Provisioning Code
no yes yes no yes
Internet Connection Required no yes yes Android 7-8: yes
Android 9+: no
no
Install APK File from
Custom URL
yes no no yes yes

With all provisioning methods you can optionally:

  • Add Device to Fully Cloud and Device Group automatically (Internet required)
  • Add Device to Google Play Managed Enterprise (Internet and Android 6+ required)
  • Import Configuration from Fully Cloud (Internet required) – Please create a Configuration first. You can import a Fully settings file (JSON) if you’ve already configured devices with Fully Kiosk or create a configuration from the scratch.
  • Import Configuration from JSON file URL – You can put the settings file on the URL in your network if you don’t like to share it with Fully Cloud or if your devices don’t have any Internet access.

With provisioned Android 6+ devices you can silently install/upgrade apps from APK file using the Install APK File button in Remote Admin.

The provisioned device has a number of additional Device Owner Settings available.

Ask us if you need any support with device provisioning for Fully Kiosk. If you can’t use device provisioning you can deploy Fully app as described here.

ENTERPRISES.

With a Managed Google Play Enterprise you can silently manage apps on your Android 6+ devices. This however requires your devices to be connected to the Internet and to use the Google Play services.

Create a new Enterprise in the Enterprise menu on Fully Cloud. A Google account is required for this step. You can approve apps for your enterprise in Google Play for Work and then configure apps to be auto-installed, set default permissions and managed configurations (if your app supports) in Fully Cloud (look for Manage Apps button on the Enterprise entry). You can also manage apps for each device individually, look for Manage Apps button on the device entry.

The only way to add device to the Enterprise is making device provisioning. You can select the Enterprise when creating provisioning settings in Fully Cloud.

DEPLOYMENT.

If you can’t use the device provisioning you can easily deploy Fully to many devices as follows:

  • Install the Fully Kiosk app on one device (from Google Play or APK file)
  • Configure and test the Fully Kiosk app. If you have different devices or different Android versions please test anything on each device type/version. Check this FAQ for recommended settings for unattended devices.
  • If you have a Fully PLUS Volume License Key enter it in Other Settings
  • If you want to automatically add devices to Fully Cloud you can add your account credentials to Remote Admin >> Add Device to Cloud and activate the Save Credentials option
  • Export settings to fully-settings.json (look in Other Settings >> Export Settings)
  • Take the fully-settings.json file, rename it and place to fully-once-settings.json (in the same folder) on all other devices you want to install
  • Now install Fully on each other device (from Google Play or APK file). The fastest way is connecting the device via USB, copy APK file and settings JSON file to device and install from APK file.
  • Start Fully Kiosk app once on each device
  • Fully Kiosk will automatically import settings from fully-once-settings.json, remove this file and ask you for needed runtime permissions
  • If you had a Volume License Key included in the settings file Fully Kiosk will take the key and register a license for each device automatically (Internet connection is required)
  • If you had saved you Fully Cloud credentials in the settings Fully will add each new device to Fully Cloud automatically (Internet connection is required)

If you use Android 6+ please make sure to take the special APK file Deployment edition. This edition brings a Read Storage Permission dialog on the first app start which is needed to auto-import the settings.

Please keep at least one device of each type as reference and for testing and attend to this FAQ about recommended settings for making your kiosk mode secure.

FAQs.

Which app is to use for what?

With 200+ options Fully Kiosk apps can be configured for many different use cases. Just to give you some ideas for the most common scenarios:

  1. Let users to browse a set of allowed websites >> Use Fully Kiosk Browser app. Set the Start URL, configure the URL Whitelist for the the allowed websites, configure Web Auto Reload setting to return to the Start URL on some condition.
  2. Play some images, videos or websites in a loop (without user interaction) >> Use Fully Video Kiosk app. Configure the playlist and voila.
  3. Allow using some set of apps >> Use Fully Kiosk Browser app. Configure the Universal Launcher with the allowed apps. You can also add websites or file bookmarks.
  4. Lock device to and auto-start one specific app >> Use Fully Single App Kiosk app. Easy to configure for the selected app. Add other allowed apps to the App Whitelist option.

Please also check the recommended settings for unattended devices for the best kiosk mode protection.

My website doesn't look/work correct/fast in Fully Kiosk Browser?

Fully Kiosk uses Android Webview (Chromium based) for any website loading, caching, rendering and scripting (incl. embedded videos etc.). Fully Kiosk can’t select another web engine or change a lot about how Android Webview is handling websites.

If your website isn’t working properly with Google Chrome on the same Android device Fully Kiosk probably won’t make it better. Please optimize your HTML/CSS/JS code for Chrome on Android. Do not compare to other browsers (Firefox, Dolphin, Opera etc.) or other platforms (Windows, Mac). Those web engines may work significantly different in some details. You can enable Webview Content Debugging in Advanced Web Settings and try the remote debugging with Chrome DevTools.

You can check the Webview version provided by Android in Fully Settings >> Other Settings >> Device Info. The websites could run into some issues if the Webview is older than 75.

  1. With Android 4.4 the Webview (ver. 30 or 33) is more or less buggy and not updatable. There are different serious issues known resulting of these outdated web engines. You should look for a newer Android version for your device or a newer device.
  2. If you are on Android 5 or 6 please install Android System Webview app from Google Play (or take an APK file from APKMirror). This will make your Webview up-to-date and the website should look and work in Fully the same way as in Chrome on Android. Some devices can’t update the Webview, check this FAQ.
  3. With Android 7+ the Webview is provided by the Google Chrome app if installed. Update Google Chrome app for the best results. You can uninstall/disable the Google Chrome app in order to use the Android System Webview app as provider.

Please also check the Web Content Settings in Fully Kiosk. If something (like popups, form data saving, geolocation, alert boxes etc.) isn’t working it can be caused by a restriction controlled by Fully. In very rare cases you can improve the rendering by selecting another Graphics Acceleration mode in Advanced Web Settings.

Why Fully Kiosk still shows the outdated Webview?

If you’ve installed the latest Android Webview and Google Chrome but Fully Kiosk still shows an outdated Webview version in the Device Info box (in Other Settings) it looks like your Android device has an AOSP ROM where you can’t update the Webview as the integrated Webview has another package ID than one provided by Google Play. So the new Webview will be installed side by side but the old integrated Webview will still be used by Android system (and it’s package ID is hardcoded in Android OS). There is a workaround for rooted devices however it’s very complicated to use. There has also been a discussion at Chromium with backgrounds why is it done like this. Sorry, this is something where Fully Kiosk can’t change anything. Please ask you device vendor for an update.

Why doesn't my webcam video play in the web page?

If your webcam video requires Basic HTTP Authentication (it’s URL starts with http://user:auth@host…) and you embed this video in your page by using the <img> oder <video> tag it probably won’t work as the authentication for embedded contents is not allowed in Android Webview (as well as in Google Chrome on Android) for security reasons. For more information please read the discussion on this topic at Chromium Bugtracker. This is something Fully can’t change. The only known workaround is using the video proxy.

How can I use local files on the device in Fully?

You can use a file URL to address local files each time an URL is required in Fully. The full file URL looks like file:///sdcard/path/to/file.html Note the triple slash. You can use the file picker in URL dialog boxes to pick the file from storage. You can also select a file on external SD card. The path to external SD card will be saved in settings as /sd_ext and replaced by the real path on each device dynamically.

Note the any links to local files or embedding local files from HTTP/HTTPS documents are disabled by Android Webview for some security reasons. You can use the Localhost File Access option (ver. 1.33+) in Advanced Web Settings in order to access local files using https://localhost/… or http://localhost/… address. The full URL for a local file should look like https://localhost/sdcard/path/to/file.mp4. So you can for example embed the local video/image files in your HTTPS website.

You can also use the Load ZIP File button in Remote Admin and Fully Cloud to download and unpack a ZIP file to /sdcard on the device. You have to put the ZIP file on some web server where it can be accessed by the device and provide the HTTP/HTTPS URL. This is the way to make a light local content management. Use with care as all existing files will be overwritten when unpacking the same file names from the ZIP file. When using this feature from Fully Cloud you can load ZIP file to many devices with only one click (mass admin). You can set the File Load Timeframe in Cloud Settings in order to randomize the file loading across devices within the specified timeframe (next x seconds).

You can use the Load Content From ZIP File option (ver. 1.33+) in Device Management settings in order to download and unzip file from some URL to /sdcard folder automatically. Fully will check each hour for updates on this URLs (according to servers Last-Modified response header). ZIP file download currently can’t work with files on Google Drive as Google Drive doesn’t provide Last-Modified time. On the first app start the ZIP file will be downloaded prior to loading the Start URL. Use Auto-Reload on Idle option to reload the Start URL when device is not in use in order the updated local files can take effect.

You can also use the JavaScript interface to silently download/unpack files, list files, delete files or folders from your website.

How can I save bookmarks/favorites in Fully Kiosk?

If you need only few bookmarks and you don’t use the Kiosk Mode please check the Add to Home Screen feature on the menu.  The current page link shortcut will be added to your Android’s Home Screen.

Otherwise you can add your favorite websites to the Universal Launcher and use it as your bookmark page. You can even seamlessly mix apps, websites and file shortcuts on the launcher.

How can I use multiple tabs in Fully?

Starting Fully Kiosk Browser 1.25 you can specify multiple Start URLs (type one URL per line and press Enter to start new line). The URLs will be opened on separate tabs. You can enable visible tab flaps and set colors in Toolbars and Appearance settings. In Web Browsing Settings you can also enable Swipe to Change Tabs to be able to change between tabs by swiping left or right.

There are also some JavaScript and REST APIs available to manage tabs programmatically. You can still use the usual JavaScript methods window.open() and window.close() to open and close new tabs.

How can I use the screensaver in Fully Kiosk?

Configure the Screensaver Playlist in Screensaver settings. You can add media files, folders, URLs to media files or websites. Look in each item configuration for the Play next item after… option, otherwise it may be shown forever. You can also  change the Wallpaper URL if you don’t like the default black. You can also set the Play Fullscreen (if you don’t use the fullscreen mode otherwise) or specify Screensaver Brightness for the display.

If you don’t launch other apps from Fully Kiosk then the option Screensaver Timer is the way to go. Let Keep Screen On enabled and do not use Android Display Settings. In this case you can also use the Android Daydream (called Screensaver starting Android 7) instead of your playlist by enabling  Use Android Daydream/Screensaver option. Note that the Screensaver Timer will only work as long as Fully Kiosk is in foreground, so this option won’t work if you start other apps.

Starting Fully Kiosk 1.22 you can select Fully Kiosk Screensaver to be started as Android Daydream/Screensaver. Set the Display Sleep Time in Android Display Settings and disable Keep Screen On in Fully’s Device Management Settings in order the Android Daydream/Screensaver can start. If you use the Kiosk Mode in Fully please enable the Advanced Kiosk Protection too. This way to start screensaver can be used with other apps, however the Android Screensaver/Daydream only starts when the device is docked or charging (or both, select in the Android Settings).

Can I wake up the screen by tapping it?

When the device screen is completely off you usually can’t wake up the device as the switched off display can’t recognize any taps. You can use display dimming instead of screen off by setting the Screensaver Timer to the delay in seconds and Screensaver Brightness to 0. Also keep the Screensaver Wallpaper URL at fully://color#000000 for the maximum darkness. The real dimming level is depending on the device. You can then wake up by tapping the screen.

If you need to use the Screen Off Timer feature consider using different Motion Detection, Device Movement Detection or REST Interface alternatives for waking up the device.

What are the different PINs and passwords for?

You can have up to 6 keys when working with Fully:

  • The Kiosk Mode PIN set in the Fully app is needed to get out to menu (and everything else) in Kiosk Mode. Default PIN is 1234. If it’s set empty the PIN dialog will be omitted.
  • The Wifi/Settings PIN set in the Fully app only allows to access Wifi or other Android Settings in Kiosk Mode. You can give this PIN to someone who is only allowed to manage Wifi or other connections but may not change anything else on the device.
  • The Remote Admin Password is set in the Fully app on each device. You need this password to login to Remote Admin interface locally at http://ipaddress:2323/ When adding device to your Fully Cloud Account you have to specify this password in order to allow Fully Cloud talking to the device. If this password is not set in the Fully app or you forget it you can’t connect locally to Remote Admin interface and you can’t add this device to the Fully Cloud.
  • The Fully Cloud Account Password is used with your email to login to Fully Cloud. If you forget the Fully Cloud password you can make password recovery with your email address.
  • The Fully Cloud API Key is needed for using Fully Cloud API. This key can be grabbed in Fully Cloud Settings. This key will be replaced each time you change the Fully Cloud Account Password.
  • The Fully PLUS Volume License Key is a secret key sent to you when you order a volume license. You can activate a PLUS license for current device by entering this key in Fully’s Other Settings. You can also add all devices activated by the specified Volume Key to the Fully Cloud account at once.

You can change the Kiosk Mode PIN, the Wifi PIN, the Remote Admin Password and the Volume License Key via Remote Admin interface (locally or in Fully Cloud) in View/Edit Settings. For security reasons you cannot change the Remote Admin Password by importing a setting file via Remote Admin.

If you put your device in Kiosk Mode and forget your PIN check this FAQ how to exit.

What is the difference between Fully PLUS License and Fully Cloud Subscription?

This point can be confusing sometimes. The Fully PLUS License and Fully Cloud Subscription are two separate things which are working independent from each other.

  • Fully PLUS License is for using all PLUS features in the Fully Kiosk App. It’s 5.90 EUR/device one-time payment. Volume pricing is available. With a Fully PLUS License you can also use the Fully Cloud Basic Features for free. Find more information here.
  • Fully Cloud Subscription is additionally required for using the Fully Cloud Advanced Features. It’s a recurring payment max. 1.20 EUR/device per month. 15% discount on annual payment etc. Check here for the feature list and more information.

You can try all features of the Fully Kiosk app and cloud for one month for free. Just install the app from our website and register for the free Fully Cloud account.

Can I get an invoice for my payment?

For all completed PayPal payments for Fully PLUS License we sent automatically an email to your PayPal email address. Please use an invoice link in that email to get your invoice.

For completed PayPal subscription payments please find your invoices in Fully Cloud account in Menu >> Subscriptions >> Payments >> View >> Get Invoice.

If you like to pay your Fully PLUS Volume License or Fully Cloud Subscription (10+ devices) by the bank transfer please contact us to get an invoice prior to payment and provide your full company name/address and VAT ID (if in the EU).

How can I exit the Kiosk Mode?

You have to make the Kiosk Exit Gesture in order to see the Kiosk PIN dialog box. Depending on Fully settings the Exit Gesture can be one of following:

  • Swipe from Left (default)
  • Long press Back Button
  • Fast 5 Taps anywhere
  • Double Tap Top Left Corner plus Double Tap Bottom Right Corner (all must be done within 3 seconds)
  • Very fast 7 Taps anywhere (if single app mode activated)

The default Kiosk PIN is 1234

If you can’t exit the Kiosk Mode or can’t remember your Kiosk PIN there are following ways to escape:

1. If you have Remote Admin or Fully Cloud access to your devices, you can change the PIN or exit the Kiosk Mode (ver 1.29+) via Remote Admin or Fully Cloud.

2. If you have not disabled the Settings Auto-Import in Other Settings, you can attach your device by USB cable and put the fully-once-settings.json file (rename in fully-video-once-settings.json for Fully Video Kiosk or fully-single-app-once-settings.json for Fully Single App Kiosk app) disabling the kiosk mode to the main folder of the internal memory (/sdcard). Then restart the device in order to auto-import the settings file.

3. If you have not enabled the Lock Safe Mode option in Fully Kiosk Mode settings, by Device Owner Settings or by KNOX Settings, you can boot into safe mode (ask your vendor for instructions with your device, usually you have to press some buttons during the boot) and uninstall Fully Kiosk.

4. Otherwise the Factory Reset is the only way to reuse the device.

There is no backdoor available in our apps for good reasons.

How can I remove the system bars?

If you show websites in Fully Kiosk Browser or play media in Fully Video Kiosk its immersive fullscreen mode which is enabled by default is usually a sufficient solution. The system bars (status bar at the top and navigation bar at the bottom) are invisible but can be pulled up and disappear shortly.

In Kiosk Mode the system bars will be made useless. With Android 8+ the status bar can be pulled down in the Kiosk Mode but automatically collapse back so it’s still not usable on the majority of devices. You can use device provisioning or KNOX features for a better status bar protection.

If you start other apps it’s the responsibility of other apps to show the system bars or put them into immersive mode. We can only force other apps by our experimental Force Immersive Fullscreen option. Be aware of hard limitations of that option. All the keyboard input and back button will be out of order in other apps.

Fully Kiosk Browser 1.35+ contains experimental status and navigation bar complete removal options which might work with majority of devices.  These options however require additional permissions that can only be granted using ADB.

  • Download and install the Android Debug Bridge (ADB) tools for WindowsMac or Linux
  • Enable Developer Options and USB Debugging on the device (Howto)
  • Connect your device to the PC via USB and confirm connection
  • On the computer run this command in your ADB folder to grant permission
adb shell pm grant de.ozerov.fully android.permission.WRITE_SECURE_SETTINGS

If something goes wrong while the system bars are removed you can easily un-remove them with following ADB command:

adb shell wm overscan 0,0,0,0
How can I use URL whitelist in Fully?

In the Web Content Settings >> URL Whitelist setting you can specify one or many URLs which are allowed to load. If you specify some whitelist URLs all other URLs will be blocked, you don’t have to put anything on the URL blacklist. The URLs added to the Universal Launcher will be auto-whitelisted automatically.

URL Whitelist is a multiline text field. Please type one URL per line and use the enter key on the keyboard to start a new line. You have to specify full URL including https:// and all query parameters. However you can use * as wildcard. For example, if you have to enable all Google and Youtube pages you can type these two lines into the whitelist setting:

*google.com*
*youtube.com*

So all URLs including “google.com” or “youtube.com” will be allowed, regardless http or https, with or without www subdomain. In most cases the list above will be a sufficient whitelist.

You can narrow the whitelist using a line like this which only allows Google Maps, regardeless http or https:

*://maps.google.com/*

Or be even more precise. This one must be https, http will be filtered out:

https://www.google.com/maps?hl=de&*

Anyway it’s a good idea to put a star wildcard at the end of the URL.

How can I play videos in Fully?

If you only want to play a video playlist please check out our Fully Video Kiosk app.

There are several possibilities to play videos in Fully Kiosk Browser:

  • HTML5 videos – can be embedded in a webpage by <video> tag, controlled from HTML, support only few video formats (depending on Webview/Android version). These videos can be autoplayed by Enable Autoplay option and may go fullscreen if Enable Fullscreen Videos setting is on. Please note that Android Webview does not cache video files. You can use the Localhost File Access option in order to embed local video files in you website in to save traffic.
  • Fully’s built-in video player – fullscreen only, support all Android media formats incl. RTSP streams. The player can be started by opening the video URL (require Play videos in Fully) or with JS interface powerful function fully.playVideo() (requires Enable JavaScript Interface). Some video formats upscale to fullscreen, sometimes even with broken aspect ratio. This seems to be an Android media player bug with some Android versions
  • Play fullscreen YouTube videos/playlists in Fully Kiosk (no controls) by opening the URL fully://youtube/video/[videoId] or fully://youtube/playlist/[playlistId] (requires ver. 1.26+)
  • External video player – depends on the external app, can support even more formats, see the FAQ for external app starting and restrictions
How can I setup Wifi on Kiosk Devices?

If you setup kiosk devices for another site and you know the Wifi Key/Password on that site you can specify these Wifi credentials in Force Wifi SSID and Force Wifi Keyphrase options on Fully’s Device Management settings. The device will then connect to that  Wifi network automatically when SSID detected.

If you don’t know the Wifi credentials you can setup a special Wifi/Settings PIN on Kiosk Mode settings and give this PIN to the administrator on site. When entering this Wifi PIN instead of the Kiosk PIN that person can open the Wifi settings and connect the device to the network without being able to exit the kiosk or change other settings. Be aware that this feature can be break the kiosk with some Samsung tablets as Samsung allows access from Wifi settings to all other Android settings. Try to use the experimental Select Wifi Network option (ver. 1.33+) in this case.

How can I use other apps in Fully?

If you want to lock down your device to a single app please check out our Fully Single App Kiosk app. You can setup a single app kiosk very fast using that app.

You can start other apps in Fully Kiosk Browser in different ways:

  • By using the Universal Launcher. Add your apps to the launcher in Fully settings and show it by opening fully://launcher URL. The launcher is a special web page in Fully Kiosk which is looking like this. You can design the launcher appearance very flexible and easy by adding any HTML code to the <head> of the launcher page. When using the Universal Launcher, the Advanced Kiosk Protection will always be activated automatically.
  • By using the Single App Mode in Kiosk Mode settings (look in Kiosk Mode settings).
  • By opening a link to some file/content which is handled by external app – requires View Other Files option to be set to Pass URL to External App
  • By opening an intent: scheme URL – requires enabled Open URL Schemes in Other Apps option. Samples for working Intent URLs are here:
intent:#Intent;component=com.skype.raider/.Main;end
intent:#Intent;component=com.android.mms/.ui.ConversationList;end
  • By calling JS Interface functions fully.startApplication() or fully.startIntent() – requires Enable JavaScript Interface is on
  • By using cmd=startApplication or cmd=loadURL with Intent URL on the REST interface

You can allow other apps to go foreground in Kiosk mode by adding the app package name to Kiosk Mode >> App Whitelist. E.g. if you want to allow incoming Skype calls add com.skype.raider to the app whitelist.  Apps started directly by Fully Kiosk are whitelisted automatically.

On some devices with Android 5.x you have to enable the App Usage Stats Access permission for Fully Kiosk manually in Android Security Settings.

Restrictions when starting other apps in Kiosk Mode:

  • While an other app is in foreground, the recent task button and the power button are only restricted if Advanced Kiosk Protection is enabled. Advanced Kiosk Protection is always enabled automatically when using the Universal Launcher or the Single App Mode.
  • Starting ver. 1.33 Fully Kiosk is trying to lock the Volume Keys even while another app is in foreground. You can get a better Volume Key lock by using the Device Owner Settings with provisioned devices
  • Another app can stay in foreground forever if the user doesn’t press back or home button. Consider using the Regain Focus After Idle Time option or JS interface functions fully.isInForeground() and fully.bringToForeground() to bring Fully Kiosk back in focus whenever.
  • Unlike Fully other apps usually don’t skip the lockscreen. So if your device is locked, the screen lock may be displayed when starting another app. This is unfortunately something Fully can’t change. In Android 8+ you can try to unlock the Swipe screenlock by using the experimental Unlock Swipe Screen Lock option in Device Management settings.  Change Android settings in order to never lock the screen as workaround (unfortunately we can’t do it automatically).
  • Fully Kiosk can force many apps to run in fullscreen mode (Force Immersive Fullscreen option). Be aware of hard limitations of this feature, no keyboard input or back button will be working.
  • Fully Kiosk can’t force the screen orientation while another app is in foreground.
  • Check Fully’s Other Settings for options controlling the idle features while another app is in foreground.
My device is asking for PIN/Pattern to unlock?

If you enabled the Screen Lock in Android Security Settings your device will ask you for PIN, Pattern or Password after booting the device or re-locking  it with the power button. This is normal Android behavior. Fully Kiosk can put itself “above” the screen lock if you enable Unlock Screen option in Device Management (enabled by default). But Fully Kiosk can’t skip or disable screen lock for other apps. For this reason, when starting other apps with locked device the lock screen may be displayed. Unfortunately this is something impossible to change without changing the target app.

In many cases you can set Lock Screen in Android Settings to None as workaround to disable the screen lock at all. However you won’t be able to use the Lock Safe Mode option in Kiosk Mode settings then. Enabling the Lock Safe Mode option will enable the PIN screen lock.

Please use device provisioning to enable Device Owner Settings for a better safe mode lock. On the most Samsung devices you can reliably disable the Safe Mode using the KNOX Settings.

How can I use the barcode scanner with Fully?

Starting Fully Kiosk 1.30 you can use the integrated QR Code Scanner. You can trigger the QR Scanner by JavaScript interface scanQrCode(). You can specify the prompt text and return URL.  With Fully Kiosk 1.31 you can also specify the camera ID, the timeout, enable/disable beep sound and show/hide the cancel button in the barcode reader UI using scanQrCode() function. Don’t forget to enable the Enable QR Code Scanner option in Advanced Web Settings.

The HTML code sample for triggering barcode scanning:

<a href="javascript:fully.scanQrCode('Nice prompt text', 'https://domain.com/return/url/$code', -1, 60, true, true);">SCAN</a>

You can also enable the QR Scan button on the action bar by setting a return URL in QR Scan Button Action in Toolbar Settings. $code placeholder on the URL will be replaced by the QR code read.

Prior to version 1.30 you can use a different barcode app like ZXing Barcode Scanner for scanning barcodes and getting codes back to web. The app must support zxing: URL scheme. Enable Open URL Schemes in Other Apps option in Fully’s Web Content Settings and use this HTML code to make a scan button:

<a href="zxing://scan/?ret=http://mydomain.com/path/to/page.html?item={CODE}">Scan Barcode</a>

After a barcode is scanned the scanner app will return to the specified return URL. Select Fully Kiosk Browser to be always the browser for handling this URL when asked. If another browser app is opened for the URL you have to clear defaults in the app settings for that browser app.

What are the best settings for an unattended device?

If you plan to run an unattended device consider setting the following options in order to make your device locked and secure:

  • Web Content Settings >> Enable JavaScript Alerts >> OFF
  • Web Content Settings >> Open URL Schemes in Other Apps >> OFF
  • Web Content Settings >> View Other Files >> Disabled
  • Web Browsing Settings >> Enable Pull to refresh >> OFF
  • Web Auto Reload >> Auto Reload on Network Reconnect >> ON
  • Advanced Web Settings >> Enable Text Selection >> OFF
  • Device Management >> Force Screen Orientation >> Select one
  • Device Management >> Unlock Screen >> ON
  • Kiosk Mode >> Enable Kiosk Mode >> ON
  • Kiosk Mode >> Kiosk Exit Gesture >> 5 fast taps
  • Kiosk Mode >> Kiosk Mode PIN >> Set your secure PIN
  • Kiosk Mode >> Disable Status Bar >> ON
  • Kiosk Mode >> Disable Volume Buttons >> ON
  • Kiosk Mode >> Disable Power Button >> ON
  • Kiosk Mode >> Disable Home Button >> ON
  • Kiosk Mode >> Disable Other Apps >> ON
  • Kiosk Mode >> Advanced Kiosk Protection >> ON
  • Remote Admin >> Enable Remote Administration >> ON
  • Remote Admin >> Remote Admin Password >> Set a fairly long password
  • Remote Admin >> Remote Admin from Local Network >> ON
  • Remote Admin >> Remote Admin from Fully Cloud >> test our Fully Cloud service
  • Other Settings >> Restart Fully After Crash >> ON
  • Other Settings >> Restart Fully After Update >> ON
  • Other Settings >> Run as Priority App >> ON
  • Other Settings >> Enable Version Info >> OFF
  • Other Settings >> Show Menu Hint on Start >> OFF
  • Other Settings >> Enable Settings Auto-import >> OFF

On Samsung devices please also check the KNOX Settings for advanced protection.

Please don’t forget to install the latest Android System Webview (for Android 5 or 6) or latest Google Chrome (for Android 7+).

If you have enabled Google Play on the device please disable Fully Kiosk auto-updates. You can’s select the auto-update time and during auto-update your device will be not protected. Please disable auto-updates for Android System Webview, for Google Chrome and Android System updates if possible.

If you have Google App installed disable Google Screen Search, otherwise a long press on the Home Button can make strange things.

How can I update Fully Kiosk app or install/update other apps remotely?

1. You can update Fully Kiosk and other apps remotely without user interaction by using the Managed Google Play Enterprise in Fully Cloud. Then your apps can be managed and updated through Fully Cloud in cooperation with Google Play for Work. An Internet connection to Google servers and device provisioning is required for this solution.

2. A silent app update/install from APK file is available on Remote Admin for provisioned devices with Android 6+. An APK file will be downloaded by Fully Kiosk from URL provided and installed silently.

3. A silent app update/install is also available on devices with root access. If you have rooted devices please ask us for this custom feature for silent remote update/install.

4. In all other cases you only can tell Fully Kiosk app to download and start installing an APK file via Remote AdminIMPORTANT: In this case user input will be required ON THE DEVICE for confirming the installation.

With Fully Cloud you can trigger the APK file install/upgrade for many devices at once.

Note that you can only update an app from APK file if you installed it previously from APK file (not if you installed it from Google Play). And you can’t downgrade the app without uninstalling it.

When updating the Fully Kiosk app itself it will be stopped. The kiosk protection may be lost for this moment. Fully Kiosk app will be restarted automatically after the update if you have Restart Fully After Update option enabled in Other Settings.

Can I use Fully Kiosk with an Amazon Fire tablet?

Amazon’s Fire OS is a very special Android derivative. Starting Fully Kiosk Browser 1.25 we have a special edition for Amazon Fire OS devices. This edition allows enabling the Kiosk Mode with Fire OS without third party tools. It has been tested with Fire OS 5.6.1.0, we can’t promise anything for older Fire OS.

If you have Google Play on your device please disable auto-updates for the Fully Kiosk app.

Please uninstall apps like Launcher Hijack. When enabling Kiosk Mode in Fully Kiosk please read the dialog box text carefully and enable the Detect Home Button option in Fire OS Accessibility Settings. This is required to make the Kiosk Protection with Fire OS. (Note: This accessibility option is sometimes reset by Fire OS – no idea why, you will get a warning toast when Starting Fully Kiosk in this case. If the Advanced Kiosk Protection is enabled, your device is probably still 98% protected in that case.)

Due to the changes in accessibility service the Fire OS edition of Fully Kiosk Browser there will always be a special APK file to install. You can get it in the download box. It won’t be accessible on Google Play as Google doesn’t like apps tampering with accessibility service. May be we’ll make the app available in the Amazon store if anything works alright.

The main Fire OS specific issues remaining:

1. The Lock Screen usually can’t be disabled without root. The Screen Off Timer, Sleep Schedule or the short Power Button press will always lead to the lock screen. All this is no issue with normal Android OS. Another ROM or rooted Fire OS can help you. Some users reported successful screen lock removal in Fire OS according to this manual (based on this approach).

2. The Android Webview can’t be updated separately, but it seems to be updated with Fire OS and is slightly outdated (version 59 vs. current ver. 70) with Fire OS we tested.

3. Some users reported to be impossible to use Alexa when Kiosk Mode is activated.

4. Some users reported screen brightness issues where the brightness is not set/reset properly when using the brightness settings in Fully Kiosk.

5. Some users reported the Add to Home feature isn’t working with the standard Fire OS launcher.

6. It looks like there is no device provisioning method working with Fire OS.

Again, all other features seem to work ok with Fire OS 5.6.0.1. With older Fire OS versions there can be some things broken. If you find some issues with the Fire OS Edition please feel free to report to info@fully-kiosk.com and let’s see what we can do.

Fire TV Sticks seem to work with Fully Kiosk however you can’t get them into the kiosk mode and some different restrictions apply as for other Android TV devices.

CUSTOMIZED AND WHITE LABEL SOLUTIONS.

We would be glad to offer you customized or white label version of Fully Kiosk Browser for your individual or business needs. You will get a custom app as APK file for your installation.

  • Custom App Base Package incl. custom app name, icon, package name, graphics, colors, default Start URL – 249 €
  • Set custom defaults or remove settings for the custom app – 99 €
  • Custom Fully Cloud incl. custom name, URL, SSL certificate – starting by 299 €
  • Additional JavaScript and REST interfaces
  • Integration with Other Apps or devices
  • iBeacon and Eddystone integration
  • Custom Kiosk Exit Gesture
  • Custom NFC Tag Actions
  • Custom Licensing Models
  • Localized Custom App
  • Use root access features like scheduled reboot or remote APK update (for rooted devices only)
  • Add any other features or customizations to your Custom App or Cloud

Please contact us for details and prices.

PRIVACY & TERMS.

All Fully Kiosk apps do not track users. No information about Fully App usage including its local Remote Admin interface is transmitted to or stored on our servers.

If you are using the PLUS features the app checks periodically the PLUS license validity if the Internet connection is available. The anonymous device ID will be sent via HTTPS to our servers for this purpose.

If you order a PLUS license the device ID, PayPal transaction details, your name and email will be stored in order to enable authentication in case of license relocation.

If you are using Fully Cloud service with Remote Admin from Fully Cloud option, your device will frequently send all information available on Fully Remote Admin interface to Fully Cloud server via HTTPS. The latest state will be saved for the quick view in the Fully Cloud Account. No history data will be saved. Fully Cloud is hosted in Germany by 1&1 IONOS.

In case of application crash or ANR the anonymous information about your device type, Android version, Fully version, its major settings, logcat and exception stack will be sent to our servers via HTTPS in order to support investigation and fix that bug.

Read the full Privacy Policy

UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

German substantive law shall apply to the agreement. Consumer protection law of the consumer’s residence country shall be excluded.

Using Fully PLUS features requires a Fully PLUS License. Look at PLUS Licensing for conditions. Using Advanced Features in Fully Cloud requires a Fully Cloud Subscription after trial period. Look in Fully Cloud for conditions. You can test anything for free.

Please ask us if you can’t use PayPal. For orders with 10+ devices we can offer a bank transfer or credit card payment. We require all international bank transfers to us to be made with the OUR instruction (all fees are paid by you). Credit card payment +5%.

OPEN SOURCE CODES USED.

Fully Kiosk uses code of nanohttpd. Copyright (c) 2012-2013 by Paul S. Hawke, 2001,2005-2013 by Jarno Elonen, 2010 by Konstantinos Togias All rights reserved.

Fully Kiosk uses codes of libsuperuser, colorpicker, altbeaconandroid-filepicker, DragListView, SlidingMenu, Zxing, Rootbeer, Acra and PDF.js published under Apache License 2.0.

Fully Kiosk uses code of Eclipse Paho published under EPL.

Fully Kiosk uses code of Jsoup published under MIT License.

Fully Kiosk uses code of Glide published under this license.

VERSION HISTORY.

2016-02-06 - v0.1
The first public edition
2016-05-19 - v1.0
Kiosk mode added (experimental)
Add menu, settings and home screen link
Add zoom mode, access to system settings and Recent apps in kiosk mode restricted
Progress bar and SSL option
Restrict auto reload, basic auth settings
Password protection in kiosk mode, hardware buttons
Validate URL, open local HTML files, black background when loading
Auto reload at ScreenOn and WifiOn
Use Wide View Port, Fix reload on Wifi Reconnect
Small fixes for the Kiosk mode, Run in foreground (experimental)
Set Orientation, Support Full Screen Videos
Allow mixed http/https content
Hide PIN dialog after 20 sec, fix screen off, handle mailto links
Show PDF, restart on crash, add website integration functions
Add load with overview mode and initial scale
Export/import settings to file, move wifi button to settings
Set font size
Never try to load page if no connection available (optional)
Show auth dialog
2016-06-05 - v1.1
Bugfix release
2016-06-28 - v1.2
Auto correct spaces in URL
Allow capitals in domain name
Select a different gesture to exit Kiosk Mode
Restart Fully after updating app or Android Webview update
Disable all alert, confirm and prompt boxes (optional)
Better use Exit button in Kiosk Mode
Show and copy Device ID in settings
Improve MAC address handling in Android 6.x
Allow Device ID changes without loosing the license
Restore black background on start
Allow Fully to be a Standard Browser
Other small fixes
Fix black background again
Fix updating settings
Improve status bar icon
Disable hardware acceleration (optional)
Improve app cache settings
2016-07-12 - v1.3
Play RTSP streams, change Motion Detector Framerate
Play all supported videos
Fix double tap to zoom
Fix IPv6 and Mac address for Android 6+
2016-08-05 - v1.4
Allow third party cookies
Don’t switch off screen while interacting
Fix waiting for internet connection appears after exit
Stability issues
Disable some options in Android 4.4
Fake User Agent String
Schedule daily sleep and wake up time (PLUS)
Allow moving app to SD card
Fix Show local PDF in Android 5.x
Other fixes
Compatibility edition for Android 4.1+
2016-08-27 - v1.5
Access geolocation by HTML5 (PLUS)
Load Start URL on Home Button in Kiosk Mode (PLUS)
Reload on reconnect of any network
Improved offline license check
2016-09-08 - v1.6
Custom Error URL
Custom Screensaver URL
Autoplay Videos Option
Volume License Key
Auto-import settings
Delete all webstorage data with Clear Cache
New option: Delete webstorage on Auto Reload
New option: Enable Camera Capture Upload
2016-09-23 – v1.7
Remote Admin Fully App (view info and manage settings)
New option: Reload on Internet Reconnect
Enable Screen Off and Screensaver on Timer without Motion Detection
Don’t turn Screen Off or Start Screensaver while video is playing
Detect Motion with JavaScript using Website Integration
2016-10-18 - v.1.8
Show Action Bar with Back, Forward and Home Buttons
Show Address Bar (and auto-hide when scrolling)
Enable/Disable Back Button
Support Popups and Open in New Frame
Support Microphone Access and WebRTC (Android 5+)
Improve Kiosk Mode Enabler
Cleanup Runtime Permission Management (Android 6+)
Swipe to Navigate, Animate Page Transitions
Restart Camera on Failure
2016-11-05 - v.1.9
Daily Usage Statistics
Pre-configure Wifi Connection
Handle URL Scheme intent:
New Kiosk Exit Gesture: 5 Taps
Use Android Daydream for Screensaver
Show Camshot in Remote Admin and JS Interface
Bring Fully to Foreground in Remote
Admin and JS Interface
Nested Preferences
Improved Sleep/Wakeup
Improve Cam Stability for Motion Detection
2016-11-19 - v.1.10
Download and View Remote PDFs in Built-In Viewer
Allow Video URL for Screensaver
Reload Start URL when Screensaver Stops
Unlock System Bar and Buttons when PIN entered
App Whitelist for Kiosk Mode
Optional Tap Sound
Wifi Only PIN
Show Geolocation in Remote Admin
New Website Integration Functions
Improve Alert/Auth Dialogs
URL Variables like $mac or $ssid
Offline Licensing
Several Bugfixes
2016-12-03 - v.1.11
Show/Hide Status and Navigation Bars Separately
Change Colors for Status, Navi, Action and Address Bar
Customize Action Bar Icon and Background
Show/Hide Back, Forward, Refresh, Home and Print Buttons
Clear Cache After Each Page Loaded
Autoplay HTML5 Audio
Redirect To Start URL when Blocked
Don’t Wake Up if Power Disconnected
Sleep on Power Disconnect
Remote Admin from www.fully-kiosk.com/remote
New Website Integration Functions
2016-12-23 - v.1.12
Welcome Screen with Quick Start Settings
Remote Admin: Export/Import Settings as JSON Text File
Remote Admin: Load Arbitrary URL
Remote Admin: Lock Device for Maintenance
Search Provider URL
Important Bugfixes
2017-01-03 - v.1.13
Compatibility with Fully Cloud Account
New Option: Enable Soft Keyboard in Webview
New Option: View in Desktop Mode
Kiosk Mode: Disable Volume and Power Buttons Separately
Unregister the Volume License by Removing the Key
New REST and JS Interface Functions
2017-01-14 - v.1.14
New Option: Screen Brightness
New Option: Pause Motion Detection whe Fully in Background
New Option: Ignore Motion when Moving Device
Remote Admin: Edit Settings
Dim Screen by Screensaver URL dim:
Enable intent: or tasker: URL in Start URL
More Tolerant Internet Connection Detection
New REST Interface Functions
Some Bugs and Stability Fixes
2017-02-04 - v.1.15
Fully Cloud: Fast Admin Device
Remote Admin: Nice Change all Settings
Improved Boot in Kiosk Mode
JSON Response Mode for REST Interface
Decode IDN Domains
2017-03-16 - v.1.16
Read NFC Tags
Improved Fully Cloud Support
Autoplay Audio/Video in Screensaver URL
New JS and REST Interface Features
Select Cache Mode
Set Optional Wakelocks
Disable Buttons while Showing Dialogs
Some Bugs and Other Fixes
2017-05-23 - v.1.17
Download Files for Viewing in Other Apps
Support Audio and Video Capture Upload
Allow Vibrate Feature in Webview
Enable/Disable Text Selection in Webview
Enable/Disable Remote Admin in LAN
Better Support for Android 7
Some Bugs Fixed
2017-07-01 - v.1.18
Detect Device Movement by Accelerometer and Compass
Turn Screen On and Stop Screensaver on Movement
Play Alarm Sound on Movement (Anti-Theft Alarm)
Show RAM/Storage Info on Remote Admin
Show Battery Warning when Battery Low
Show Action Bar in Settings
Sleep on Power Connect
New REST/JS APIs
2017-08-22 - v.1.19
iBeacons Detection
Movement Alert on iBeacons
Play Alarm Sound From File
Push and Unzip File to Device
File Picker for Local Files
Show Permission List Dialog
Improved Go Out from Kiosk Mode
Improved D-pad Navigation Support
TTS over REST Interface
New JS Interface Features
2017-10-13 - v.1.20
Application Launcher
Add Apps to Launcher
Custom Launcher Design
Remote Load and Install APK file
Improved Kiosk Protection
2017-11-18 - v.1.21
Mix Apps and Web Bookmarks on App Launcher
Edit Launcher Items
Select Launcher Background Color and Scaling
Single App Kiosk Mode
Load Best Icon for Add to Home
Pick Apps for Whitelist
New REST API Commands
2018-02-19 - v.1.22
Set Screen Brightness for Screensaver
Daydream Screensaver Integration
Improved File Download Handling
Better Support for Android 8
Better Support for Files on External SD Card
Allow Local Files for App Launcher Icons
Device Info in Settings and on JS Interface
New Splash Screen
2018-03-30 - v.1.23
Play Videos, Slideshows or Websites in Screensaver
Optionally don’t Lock Home Button in Kiosk Mode
Manage Sleep/Wakeup Times for Days of Week
Add File Shortcuts to Universal Launcher
Improved Support for Android TV
Acoustic Motion Detection
Safe Mode Lock
2018-04-23 - v.1.24
Support NFC Device Provisioning
Support Samsung KNOX Features
Change Policies for Provisioned and KNOX Capable Devices
Silent App Install for Provisioned Devices
Add Device to Fully Cloud from the App
Force Immersive Fullscreen for Other Apps
Some Bugfixes
2018-06-10 - v.1.25
Render PDF Files with PDF.js
Show Tabs for Browser Frames
Open Multiple Start URLs in Tabs
Swipe to Change Tabs
New JavaScript Interface to Change Tabs
Custom Tab Colors
Custom Progress Bar Color
Better Support for Fire OS
Pick a Settings File for Import
Inject JavaScript
2018-07-31 - v.1.26
Optionally Disable All Touch Interactions
Optionally Disable Scrolling
Play Youtube Videos and Playlists on Screensaver
Custom Action Bar Button
Improve Kiosk Protection
New REST and JavaScript Interfaces
Some Bugfixes
2018-09-21 - v.1.27
Improve Intent URL Handling
Load Error URL on Disconnect
Load Current Page on Auto Reload
New REST and JavaScript Interfaces
Remote Admin via HTTPS
Disable Screenshot and Camshot on Remote Admin
Some Bugfixes
2018-10-18 - v.1.28
Add Share Button
Single App Kiosk Mode for Android 8+
Support Different Provisioning Methods
Improved Support for Android 8 & 9
2019-02-05 - v.1.29
Enable Multiple File Upload
Use Another App for Screensaver
Unlock Kiosk from Remote Admin
Use Idle Features with Other Apps
Set Arbitrary Custom User Agent String
Different Bugfixes
2019-03-23 - v.1.30
Integrated QR Code Scanner
New JavaScript and REST Interfaces
Use Fully Kiosk as Default Browser App
Some Bugfixes
2019-05-02 - v.1.31
Access Bluetooth Devices with JavaScript Interface
New Options for QR Scanner
Set Text Color in Universal Launcher
Skip Auto Reload if Showing Start URL
New JavaScript Interface Functions
Some Bugfixes
2019-05-22 - v.1.32
Client Certificates for Webview
Prevent Device Sleep at Screen Off
Improved Single App Mode
New KNOX Features
Small Bugfixes
2019-07-31 - v.1.33
Sync local content from ZIP file URL
Load local files via https URL
Force Wifi/Bluetooth on/off
Add Referer and AddXFF HTTP headers
Different Actions for Wifi PIN
Select Wifi without Android Settings
Add Web Filter by Host
Resubmit Form Data on Page Reload
Block Volume Buttons with Other Apps
Detect Movement when Unplugged
New JS Interface functions
Rebrush Remote Admin Toggles
2019-09-06 - v.1.34
MQTT Integration
Android 10 Support
Improved Error URL Handling
Custom Message Overlay
Small Fixes
2019-09-26 - v.1.35
Remove System Bars (read FAQs!)
Add Root Features
New JS/REST APIs for Tab Management
Reset Zoom after Each Page Load
Small Fixes

KNOWN ISSUES AND RESTRICTIONS.

There are some Android OS related issues:

  • Fully Kiosk is using the web engine of Android System Webview or Google Chrome. Compatibility issues may occur as with any other web browser. Read this FAQ.
  • Many Android devices are not suitable for running 24/7. We recommend long time testing prior to production deployment.
  • Excessive website complexity and video content can lead to the high resource usage by the Android Webview, unresponsiveness and killing the app by Android. Enable the recommended restart option in Other Settings, try to reduce website complexity or increase device resources.
  • The Web Speech API and Speech Recognition API are not supported by the Android Webview, use Fully’s JavaScript interface instead for TTS.
  • Download of blob: URLs created by URL.createObjectURL() or other blob: URLs isn’t supported by the Android Webview.
  • Fullscreen mode warning (immersive mode confirmation) is sometimes shown by some Android versions and must be confirmed.
  • Black screen may be flashing in Android 5.x if your device is locked and you are pulling the system bars. You can set Screen Lock to None in Android settings in order to avoid flashes, but use Fully’s Kiosk Mode to keep the device secure.
  • Screen Off Timer may suspend many devices completely, so no Motion Detection or Remote Admin can be used. In Fully Kiosk Browser 1.32+ please look for the new option Prevent from Sleep while Screen Off.
  • Scheduled Wakeup may be inaccurate (up to some minutes later) or even fail at all on some devices.
  • Double launch on device boot in Kiosk Mode may be done, this shouldn’t cause any problems however.
  • Toast messages are not visible when device is locked in Android 6+
  • Screenshots do not include videos or contents from other apps.
  • Saved HTTP Auth credentials can’t be cleared (seems to be an Android Webview bug)
  • Fully Kiosk app is terminated when Android System Webview or Google Chrome is updated. Disable the updates or use Restart Fully After Update option.
  • Some videos play fullscreen with broken aspect ratio (Android media player bug?)
  • Looping the videos in Fully video player sometimes doesn’t work in Android 5 (Android media player bug?).
  • On Amazon Kindle/Fire devices some Features are out of order. Please check this FAQ for details.
  • Android Webview doesn’t allow links to local files (file://) or embedding local files from HTTP/HTTPS documents. Use Localhost File Access option (ver. 1.33+)
  • Volume Buttons can’t be locked in Kiosk Mode on some devices.
  • Text-to-speech interface is broken with some Android 5.x devices.
  • JavaScript Interface isn’t working in popups with Android 4.4.
  • In some Android versions other apps running in Kiosk Mode can’t obtain runtime permissions (“Screen Overlay Detected“). Please run the app and set needed permission without kiosk mode first or use device provisioning to auto-grant some permissions to other apps.
  • Android Accessibility Service and other apps (analyzing and pre-filling pages, like LastPass) relying on that service are not working properly with Android Webview.
  • In Android 8+ the onscreen keyboard might not show up in other apps sometimes after reboot if Unlock Screen option is enabled and Swipe Screen Lock is selected. Disable Unlock Screen option or disable Screen Lock on Android Settings as workaround. With Fully Kiosk Browser 1.34 the experimental option Unlock Swipe Screenlock seems to help to avoid this bug in most cases.
  • In Android 8+ the status bar can be pulled down in Kiosk Mode for a short time. Use device provisioning or KNOX features to lock the status bar reliably.
  • Also when the device is showing the lockscreen the status bar can’t be disabled in Android 8+. Remove screen lock as workaround. Use device provisioning or KNOX features to lock the status bar reliably.
  • Few device vendors like Elo Touch decided to reset the default launcher (home app) once a while to their own app. Unfortunately there is no chance to maintain the kiosk mode on such devices reliably. 
  • Some TV boxes with Android 8.1 show erroneous behavior which also disallows to use the settings in the app.
  • Kiosk mode  and all features requiring the device admin permission don’t work with Chrome OS.
  • Secure Kiosk Mode is impossible and different other restrictions apply for Android TV devices.
  • The print button is crashing the app with Android Webview 77.

ABOUT US.

Fully Factory UG (haftungsbeschränkt)
Аlexеy Оzеrov
Vоn-Witzleben-Str. 12
41540 Dоrmagen
Germany

VAT ID: DE314274882

eMail : info@fully-kiosk.com
Phone: +49 21ЗЗ 27ЗЗЗЗ

Your feedback is welcome! Enjoy Fully Kiosk!