Fully Kiosk Browser & App Lockdown

Fully Kiosk Browser is a highly configurable 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 many 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 new app for easily locking down the device to one selected app. Please obtain this app on Google Play or get an APK file from the download box.


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

  • Show websites
    • Support HTTP, HTTPS or FILE protocols
    • Full Javascript, HTML5 and Application Cache support
    • Load URLs on multiple tabs (ver. 1.25+)
    • Fullscreen and autoplay for HTML5 videos
    • Support basic HTTP authentication (username+password)
    • Support WebRTC (Android 5+)
  • Lockdown or configure numerous web content features
    • Allow Third Party Cookies
    • Form Autocomplete
    • 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
    • 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
    • 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:
  • 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 button set on action bar with home, back, forward, refresh and print 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
    • Keep screen on
    • Set screen brightness
    • Fix screen orientation (landscape, portrait etc.)
    • 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 settings access
    • Lock Android system bars in Kiosk mode
    • Lock Home Buttons (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 sensivity 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
    • 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
    • Get cam shot (requires Motion Detection)
    • Get screenshot
    • Play videos and show PDF
    • 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
    • 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 need any other feature for your use case please don’t hesitate to ask me.

Please do not expect miracles in the quality of web presentation, the browser performance, or battery usage. Fully uses the Chromium web engine, and 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.


Get Fully Kiosk Browser app 1.28.1 on Google Play

or Get the latest Beta version

Get Fully Video Kiosk app 1.1 on Google Play

or Get the latest Beta version

Get Fully Single App Kiosk app 1.0 on Google Play


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. When updating from APK installation to Google Play (or the other way) the old app needs to be uninstalled. The configuration must therefore be re-done (or use export/import settings).


When installing Fully the following permissions are requested:

  • 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 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 app management in 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
  • EXPAND_STATUS_BAR – collapse status bar in Kiosk Mode (ver. 1.22+)

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
  • Draw over other apps – on the first start in Kiosk mode and with activated Motion detection
  • Access to Camera – on Motion Detection, JavaScript Interface 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.


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 (ver. 1.25+).
  • 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
  • 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
  • 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 tappting 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).
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 (ver. 1.10+)
  • 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 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+)
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
  • 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 selection in the Webview by long click
  • 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 auto reload (ver. 1.27+)
  • Ignore SSL Errors – can be used with self-signed certificates, this makes SSL unsafe
  • 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
  • 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
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 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
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+
  • 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
  • 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
  • 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
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 settings, permission dialogs).
  • 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). Look for Fire OS limitations
  • 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
  • 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
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
  • Show Battery Warning (PLUS) – show warning on display if battery below this value, set 0 for disable
  • Set CPU Wakelock – force CPU to always keep up (usually not needed)
  • Set Wifi Wakelock – force Wifi to always keep up (usually not needed)
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 Everywhere (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 PIN – another PIN to access Android’s Wifi 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.
  • Disable Status Bar – lock status bar and system settings access – your kiosk isn’t 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.
  • Disable Volume Buttons – restrict volume buttons in Kiosk Mode
  • Disable Power Button – make the power button almost useless in Kiosk Mode, very long press will usually still power off the device
  • 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
  • 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
  • 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
    • 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 (experimental) – 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
    • 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. Starting ver. 1.27 you can establish HTTPS connection to Remote Admin if you put a  valid SSL certificate file on device, read more.
    • 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.
KNOX Settings (PLUS, Samsung devices only, ver. 1.24+)
  • 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 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 screen capture
  • Disable Status Bar – better disable pulling down the status bar
  • 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 (1.25+)
Other Settings
  • Daily Usage Statistics (PLUS) – Gather locally on this device usage stats on daily base, available only for you in Remote Admin interface
  • 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
  • Conside Device in Use while Keyboard Visible – don’t run features like screensaver, screen off, reload on idle when keyboard is open, Fully Kiosk however can’t determine if the device is in use when the keyboard or other apps are in foreground. With this option you can avoid starting on idle features while the soft keyboard is open (ver. 1.25+)
  • 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 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 license will be unregistered.
  • 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 in HTTP/HTTPS documents are disabled by Android Webview for some security reasons.

All settings 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 for details.

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


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 with the web URL stored in the link.


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 and other apps access. For this purpose Fully Kiosk will ask you to set it as the default Home App. 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 Settings. Leave the settings and follow instructions in order to activate or deactivate the Kiosk Mode. With Android 6+ on the first start in Kiosk Mode an additional permission (“Draw over other apps”) is requested and should be granted.

The access to other apps, to Android settings via status bar, the camera, the power button and the volume buttons can also be restricted in Kiosk Mode. A very long press on power button usually will still cause the device to switch off.

In Android 8 and 9 the status bar pull-down can’t be locked but Fully Kiosk tries to close the status bar immediately and it shouldn’t be usable (ver. 1.22+). 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 Only PIN you will get to Wifi settings when you enter this PIN. The restrictions for other apps apply while the Wifi settings are in foreground.

Fully Kiosk can also lockdown other apps in Kiosk Mode. Read this FAQs for details and restrictions. You can even lockdown the device to a single app using the Single App Mode. Note the procedure for exiting from that mode.


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 different permission requests will appear in succession 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 privileges are still not required for Fully.) Before the Fully app can be uninstalled, device admin permission must be disabled.


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:

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.


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

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

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 and Remote Admin Password will not be changed when importing
  • Export/import settings in JSON file – editable text format
  • Load Start URL
  • Load arbitrary URL
  • Show screenshot from device
  • Show camshot from device (requires Motion Detection)
  • Detect current app in foreground, bring Fully to Foreground
  • Close Settings, Screensaver and other Fragmens
  • Turn screen on/off
  • Show device geolocation
  • Show and CSV download of usage stats
  • Lock device to maintenace mode
  • 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.
  • Load and install an APK file – user input is requires on the device in many cases – check this FAQ.


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 Enterprises. Fully Kiosk does not change anything in your NAT, 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
Mass device admin: Make actions on all selected devices at once ADVANCED
Send action commands to device for maintenance lock, screen on/off, restart, settings import, device lock/wipe/reboot etc. ADVANCED
Use Fully Cloud API to remote control Fully Kiosk device from your software (ask us for details) 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 2018
Fully Cloud


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. 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.


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

// Basic features
/?cmd=clearCookies&password=[pass]  (ver. 1.28+)

// Simulate motion 
Screensaver and Daydream
// Screensaver and daydream
/?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

// Return to webview if any view (PDF, Video, Settings, Menu) is open

// Download and launche APK file, user input is required

// Lock/unlock device for maintenance
Get Stats, Screenshot and Camshot
// Load full usage stats CSV file

// Get screenshot image (PNG)

// Get camshot image (requires Motion Detection)
Use TTS and Multimedia
// Text to speech

// Sounds and volume
Manage Settings
// Change any of 200+ Fully settings, look in Remote Admin for keys
// New setting will be applied immediately

// Import settings file (dat/json) from /sdcard
File Management
// Download and upzip file to /sdcard


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()         // ver. 1.24.1+
String fully.getHostname6()        // ver. 1.24.1+
String fully.getMacAddress()
String fully.getMacAddressForInterface(String interface)  // ver. 1.27+
String fully.getWifiSsid()
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()
String fully.getFullyVersion()
int fully.getFullyVersionCode()
String fully.getWebviewVersion()
String fully.getAndroidVersion()
int fully.getAndroidSdk()
String fully.getDeviceModel()
Control device
void fully.turnScreenOn()
void fully.turnScreenOff() 
void fully.turnScreenOff(boolean keepAlive) 
void fully.forceSleep()           // ver. 1.18+
void fully.showToast(String text) 
void fully.setScreenBrightness(float level)
void fully.enableWifi()
void fully.disableWifi()
void fully.showKeyboard()
void fully.hideKeyboard()
void fully.openWifiSettings()      // ver. 1.16+
void fully.openBluetoothSettings() // ver. 1.16+
void fully.vibrate()               // ver. 1.17+

// ver. 1.27+
void fully.deleteFile(String path)   
void fully.deleteFolder(String path) // recursive!
void fully.downloadFile(String url, String dirName)
void fully.downloadAndUnzipFile(String url, String dirName)
void fully.sendHexDataToTcpPort(String hexData, String host, int port)
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) // ver. 1.26+
void fully.playSound(String url, boolean loop) // ver. 1.25+
void fully.stopSound()                         // ver. 1.25+
void fully.showPdf(String url)
void fully.getAudioVolume(int streamType)   // ver. 1.27+
Control Fully
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()
// Ver. 1.25+
void fully.focusNextTab()  
void fully.focusPrevTab()
void fully.focusTabByIndex(int index)
int fully.getCurrentTabIndex()
// Ver. 1.28+
void fully.shareUrl()
Respond to events
void fully.bind('screenOn','todo();')
void fully.bind('screenOff','todo();')
void fully.bind('showKeyboard','todo();')           // ver. 1.24.1+
void fully.bind('hideKeyboard','todo();')           // ver. 1.24.1+
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();')        // ver. 1.22.1+
void fully.bind('onScreensaverStart','todo();')     // ver. 1.19+
void fully.bind('onScreensaverStop','todo();')      // ver. 1.19+
void fully.bind('onBatteryLevelChanged','todo();'); // ver. 1.19+
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);') // ver. 1.19+
Manage applications
void fully.startApplication(String packageName)
void fully.startApplication(String packageName, String action, String url)
void fully.startIntent(String url)
boolean fully.isInForeground()
void fully.bringToForeground()
void fully.bringToForeground(long millis)   // Delay in ms
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 -->
function myMotion() { alert("Motion"); }

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

<!-- Identify Fully Kiosk Browser -->
if (typeof FullyKiosk !== "undefined")
  document.writeln("<h1>Fully Kiosk working</h1>");


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.

APK file is available for download in the download box.

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 Fully Kiosk Browser or Fully Video Kiosk 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.

This app available on Google Play and as APK file and your feedback is welcome!


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.

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. (If you use the Deployment APK with Android 6+ the file containing the Device ID will be generated automatically on the first app start after you grant the Media Write Permissions.) 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.


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.

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
Manual Enter
Provisioning Code
no yes yes no yes
Internet Connection Required no yes yes Android 7-8: yes
Android 9+: no
Install APK File from
Custom URL
yes no no yes yes

With each provisioning method 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:

Device Owner Settings
  • Lock Task Mode  – remove home and recent task button, disable status bar (in Kiosk mode only)
  • 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
  • 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
  • APK Files to Install – enter one URL per line, silent install can be done with Android 6+
  • 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

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.


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.


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, installations from Google Play will be autoupdated unless you disable it)
  • 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.


My website is looking/working incorrectly in Fully?

Fully Kiosk uses Android Webview (Chromium based) for any website rendering and scripting. 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 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.

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

  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 webviews. 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.
  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 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 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 dialogs to pick the file from storage.

Note the any links to local files from HTTP/HTTPS documents are disabled by Android Webview for some security reasons.

With Fully 1.22+ 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.

You can also use the Upload ZIP File button in Remote Admin 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 downloaded by the device and provide the HTTP/HTTPS URL. This is a 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.

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

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 new JavaScript Interfaces fully.focusNextTab(), fully.focusPrevTab() and fully.focusTabByIndex(int) available to change tab focus programmatically. You can 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 its 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 and Screensaver Brightness. 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 PIN set in the Fully app only allows to access Wifi Settings in Kiosk Mode. You can give this PIN to someone who is only allowed to manage Wifi 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, forget your PIN and you have no access to Fully Settings via Fully Remote Admin interface the Factory Reset is probably the only way to change anything.

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 http:// 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:


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:


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


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

How can I play videos in Fully?

There are several possibilities to play videos:

  • 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.
  • 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 next faq for external app starting and restrictions
How can I use other apps in Fully?

You can start other apps in different ways:

  • By using the Universal Launcher (ver. 1.20+). 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:
  • By calling JS Interface functions fully.startApplication() or fully.startIntent() – requires Enable JavaScript Interface is on
  • By using cmd=startApplication 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 taks 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.
  • For now Fully can’t lock the volume key while another app is in foreground except by using the Device Owner Settings with provisioned devices.
  • Another app can stay in foreground forever if the user doesn’t press back button. Consider using JS interface functions fully.isInForeground() and fully.bringToForeground() to bring Fully Kiosk back in focus whenever.
  • Unlike Fully other apps usually don’t skip lockscreen. So if your device is locked, the keyguard screen may be displayed when starting another app. This is unfortunately something Fully can’t change. Change Android settings in order to never lock screen as workaround.
  • Fully Kiosk can’t force the screen orientation while another app is in foreground.
  • Fully Kiosk gets no information about device touches or other usage while another app is in foreground. For this reason the on-idle-features (Auto Reload, Screen Off Timer, Screensaver Timer) are temporarily deactivated when starting other apps.
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 skip the screen lock for itself 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 some 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 disable the Safe Mode using the KNOX Settings.

How can I use the barcode scanner with Fully?

You can use different barcode apps 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 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 or 8).

If you install Fully Kiosk from Google Play please disable Fully Kiosk auto-updates. During auto-update your device will be unlocked. Please disable auto-updates for Android System Webview, for Google Chrome and Android System updates.

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

With Android 5.x you should disable the Lock Screen in Android’s Settings (set Lock Screen to None) if you need to avoid black screen flashing when pulling system bars. This however makes your kiosk less secure.

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 device provisioning with adding devices to the Managed Google Play Enterprise in Fully Cloud.

2. If you can’t use Enterprises you can tell Fully app to download and start installing an APK file via Remote Admin. Note that you can only update Fully by this way 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.

IMPORTANT: User input will be required ON THE DEVICE for confirming the installation.  If installing a Fully APK file Fully Kiosk will be stopped. Fully Kiosk app will be restarted automatically after the update if you have Restart Fully After Update option enabled in Other Settings.

A silent app update/install from APK file is only possible on provisioned devices with Android 6+ and on devices with root access. If you have rooted devices please ask us for the custom feature for silent remote update/install.

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, we can’t promise anything for older Fire OS.

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 absolutely can’t be disabled without root. The Screen Off Timer or the short Power Button press will always lead to the lock screen. All this is no issue with normal Android, another ROM or rooted Fire OS can help you.

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 I tested.

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

4. Some user 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.

Again, all other features seem to work ok with Fire OS With older Fire OS versions there can be 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.


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.


Fully Kiosk Browser App and Fully Video Kiosk App 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



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. However we require all international bank transfers to us to be made with the OUR instruction (all fees are paid by you). The only exception is EU-payments in EUR which can be made with SHA instruction. Credit card payment +3,5%.


Fully 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 uses codes of libsuperuser, colorpicker, altbeaconandroid-filepicker, DragListView, SlidingMenu, Zxing and PDF.js published under Apache License 2.0.

Fully uses code of Jsoup published under MIT License.

Fully uses code of Glide published under this license.


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 swith 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 Managment (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
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


There are some Android related issues where is still no workaround available:

  • Fully Kiosk is using the web engine of Android System Webview or Google Chrome. Compability issues may occure as with any other web browser. Read this FAQ.
  • 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() isn’t supported by the Android Webview
  • 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
  • Scheduled Wakup may be inaccurate (up to some minutes later) or even fail at all on some devices
  • Double launch on boot in Kiosk Mode (this doesn’t cause any problems however)
  • Toast messages are not visible when device is locked in Android 6+
  • Saved auth credentials can’t be cleared (seems to be an Android Webview bug)
  • Fully Kiosk app is terminated when Android System Webview is updated, disable the Webview 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://) from HTTP documents
  • 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 Android 8+ the status bar can be pulled down in Kiosk Mode for a short time, use device provisioning to better lock the status bar
  • Kiosk mode  and all features requiring the device admin permission don’t work with Chromebooks
  • Different restrictions apply for Android TV devices


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

VAT ID: DE314274882

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

Your feedback is welcome! Enjoy Fully!