Fully Kiosk Browser

Fully is a highly configurable Android Kiosk Browser. Lockdown and configure the functionality of your website and your device. Fully app provides fullscreen and kiosk mode as well as many other features for your digital signage, interactive kiosk systems, information panels and all kinds of unattended AndroidTM devices.


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
    • Fullscreen and autoplay for HTML5 videos
    • Support basic 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 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 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, use Google Docs, this doesn’t work for intranet oder local files, or use Fully’s built-in PDF viewer, Android 5+)
    • 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:
  • Customizable Toolbars and Appearance
    • Show/hide status, navigation, action and address bar
    • Real fullscreen mode (immersive sticky with Android 4.4+)
    • Custom colors for all bars (ver. 1.11+)
    • Customize button set on action bar with home, back, forward, refresh and print buttons (ver. 1.11+)
    • Custom Action Bar Icon and Background Image (ver. 1.11+)
  • Configurable browsing controls
    • Back button makes history back
    • Pull to refresh the current page
    • Play tap/click sound (ver. 1.10+)
    • Show progress bar
    • 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)
    • Tap home button for Start URL (PLUS, requires Kiosk Mode)
    • Use Fully as standard web browser in Android
  • 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 (ver. 1.14+)
    • Fix screen orientation (landscape, portrait etc.)
    • Autostart on boot
    • Bypass the lockscreen
    • Sleep on power disconnect
    • Scheduled times to hibernate and wakeup the device (PLUS)
    • Switch screen off or show Screensaver URL on idle (PLUS)
    • Video Screensaver Support (ver. 1.10+, PLUS)
    • Use Android daydream for Screensaver (PLUS)
    • Pre-configure Wifi Access by SSID and Keyphrase (PLUS)
  • Kiosk Mode (PLUS)
    • Lock access to other apps and settings for unattended tablets
    • Select gesture and define PIN to exit the Kiosk Mode
    • Define a separate PIN only for Wifi settings access
    • Lock Android system bar in Kiosk mode
    • Restrict hardware buttons
    • App whitelist: Allow selected apps to come to foreground (ver. 1.10+, PLUS)
    • read more
  • Motion Detection using front cam (experimental, PLUS)
    • Get more attention by switching screen on or stopping screensaver on motion
    • Adjustable motion detection sensivity and sample rate
    • read more
  • Website Integration via Javascript (PLUS)
    • Get device information and control device
    • Manage Fully functionality and settings
    • React on different events like Screen On/Off
    • 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 Cloud Service (ver. 1.13+)
    • View device and Fully info
    • View and manage Fully settings
    • Show screenshot and camshot
    • Easy REST interface for automation
    • read more
  • Daily Usage Statistics (PLUS)
    • Count pageview, touches, reloads, screenons, 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
    • Easy deployment by settings auto-import, read more
    • 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 (ver. 1.10+)
    • Customized and white label solutions available
    • Lightweight app, no ads, no tracking
    • Move Fully to SD card (if supported by your Android system)
    • Supports Android 4.4 to 6.x (Google Play) and 4.1 to 6.x (APK)

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 Android Webview (= Chromium), and can only show the web pages as well as Chromium can. For the best results on Android 5+ please install Android System Webview from Google Play. The Webview engine is then kept up to date and the website presentation in Fully should be the same as in Chrome.

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

In older versions of Android 4.1 to 4.3, it may happen that the website presentation in Google Chrome is much better than in Fully because Fully can only use the existing outdated Webkit Webview. The fullscreen mode feels strangely since the navigation bar is shown at each operation (first touch will be lost), and then disappears after 5 seconds of inactivity. Possibly you have also to take other constraints into account.


Get Current Fully Kiosk Browser App 1.14.1 on Google PlayTM

or Get the latest Beta version

On Android 4.4+ you can simply install from Google Play. Then the app will also be auto-updated unless you disable auto-updates for it. Alternatively, just download the APK file and start it on the Android device. Installing 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).

For the older Android versions 4.1 to 4.3 there’s an experimental compatibility edition, which is offered only as an APK file (not on Google Play) and updated irregularly. For the limitations of Fully with older Android versions see above. Sorry, there is no support provided for these old Androids.


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
  • 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 (ver. 1.14+)

When activating the Screen Off Timer, Webseite integration, Remote Admin or Scheduled sleep time Administration rights are requested so Fully may automatically turn the screen off. The administration rights must be withdrawn 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

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, Website Integration or HTML Camera access activation
  • Access to Geolocation – on HTML geolocation access or Remote Admin activation
  • Access to Audio Recording – on HTML microphone access activation
  • Write Settings – when using dim: or setting screen brightness


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

Content Settings
Toolbars and Appearance
Browsing Settings
Zoom and Scaling
Device management
Auto Reload
Kiosk Mode (PLUS)
Motion Detection (PLUS)
Remote Administration (PLUS)
Other Settings

The credentials (basic auth) can be included in the start URL (eg http://user:pass@server:8084/fhem/ftui/ ) or entered in the 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 requiested and should be granted. New Android versions don’t allow links to local files from http documents.

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 function creates a link to the currently open web page on the Android Home screen. The title of web page is taken as title and the last loaded favicon as icon. The favicon will be upscaled and may look ugly. You can put several links to various sites on the home screen. Clicking such link opens Fully with the web URL stored in the link.


In the Kiosk mode the Fully app tries to set up so that no other applications can be started. For this, as with other kiosk apps the default launcher (the app that you reach when you click on the home button) is replaced by Fully. Access to Fully menu and settings is protected with a PIN (optional).

The Kiosk Mode can be easily turned on or off in the settings. With Android 6+ on the first start in Kiosk mode an additional permission (“Draw over other apps”) is requested and should be granted.

By clicking on Home button in Kiosk mode the user remains locked in Fully. Also, access to Android settings via status bar and to the last Apps is restricted in Kiosk mode (optional). The power button and volume buttons can also be restricted in Kiosk mode (optional). A very long press on power button will still cause the device to switch off.

Some moderate Android hacks were necessary for Kiosk mode. Therefore, some devices or Android versions may fail with it. I recommend all users who need to use the Kiosk mode to test it thoroughly including rebooting device in Kiosk mode, entering PIN and switching Kiosk mode completely off before disabling the status bar access. If something goes wrong you won’t be able to switch off the Kiosk Mode without access to the system settings. Your device may stay locked with Fully. Forever. No joke.

If you define the Wifi Only PIN you will get the Wifi settings when you enter this PIN. The restrictions for other apps apply while the Wifi settings are in foreground.


The 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. When motion is detected the screen is switched on. You can specify with Screen Off Timer setting in seconds how fast the screen has to be off again. Admin rights are requested for Fully in oder 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, admin rights must be withdrawn. With the option Show Preview Cam you will get a small cam preview in the lower right corner, so you can see cam coverage.

When switching the 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.


You can remotely administrate your Fully app on devices in your local network or worldwide via VPN. Enable Remote Admin and specify a password in the Fully Settings and connect in any web browser to http://ip-address-of-device:2323 If you have a PLUS license for your device this service is FREE of any charges.

Following features are available after login on remote admin website:

  • Show current device and Fully state information
  • View/edit all current Fully 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 (ver. 1.12+)
  • Load Start URL
  • Load arbitrary URL (ver. 1.12+)
  • Show screenshot from device (ver. 1.8+)
  • Show camshot from device (requires Motion Detection)
  • Detect current app in foreground, bring Fully to Foreground
  • Close Settings, Screensaver and other Fragmens (ver. 1.14+)
  • Turn screen on/off
  • Show device geolocation (ver. 1.10+)
  • Show and CSV download of usage stats
  • Lock device to maintenace mode (ver. 1.12+)


Starting with Fully 1.13 you can enable Remote Admin from Everywhere option and connect to your device using Fully Cloud Account at www.fully-kiosk.com/account from everywhere even if your device is in a local network behind NAT or router (without any VPN). Fully does not change anything in your NAT, no port fordwarding is needed. Fully cloud service is experimental and free for now. Later there will be a small monthly fee.

Following features are available after login with your Fully Cloud Account:

  • Add devices to your account by device ID or Volume Key
  • Save/change Remote Admin password of each device
  • View short device info on the list
  • Arrange devices in groups
  • Connect to each device and enjoy the whole functionality of it’s Remote Admin (see above) from everywhere on the Internet



If you have Remote Admin enabled, you can use it’s features as a simple REST interface in order to control the device from your local network. The base URL address is always http://ip-address:2323. You have to specify the Remote Admin Password on the URL. Don’t forget to URLencode all query string parameters.

/?cmd=triggerMotion&password=[pass] (Fully 1.12+)
/?cmd=restartApp&password=[pass] (Fully 1.12+)
/?cmd=exitApp&password=[pass] (Fully 1.13+)
/?cmd=popFragment&password=[pass] (1.14+)
/?cmd=getCamshot&password=[pass] (requires Motion Detection)
/?cmd=setBooleanSetting&key=[key]&value=[value]&password=[pass] (1.14+)
/?cmd=setStringSetting&key=[key]&value=[value]&password=[pass] (1.14+)


This allows the website accessing device features via JavaScript interface. Don’t forget to enable Other Settings >> Enable Website Integration option prior to using the Javascript interface. Following Javascript functions are implemented in Fully Kiosk Browser (including beta versions).

Get device info
Control device
Use multimedia and PDF
Control Fully
Respond to events
Manage applications
Motion detection
Manage all Fully settings


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

If you like the PLUS features you can remove the “PLUS Features Activated” watermark by purchasing the PLUS license. The license can be comfy obtained directly in the Fully app. You can use the following link for the case if you prefer using another device/browser:

Get a PLUS License for Fully Kiosk Broser

A license costs only 4.90 EUR per device (one time payment payable via Paypal). There are no other fees and you’ll get all future updates for the Fully app including all future PLUS features. The license is activated immediately after the payment is completed. Internet connection is required. You can even move your licence to another device later if you need to. Just use this form in that case:

Move a PLUS License to a new device

If you have more than 10 devices you can use Fully PLUS Volume Licensing with special conditions. You will get one Volume License Key (like ABCD0815) which can be used for activating the license on all your devices. You can enter this key in Fully Settings and the license will be activated for this device automatically (Internet connection required). Please use this calculator for the Volume Pricing:

Fully Volume License Price Calculator

If your device may not connect to Internet for some reasons you can use Offline Licensing (ver. 1.10+). However it’s some more work. Go on each device to Fully’s Other Settings and tap on Device ID. Device ID will be written to the file fully-deviceID*.txt. Then collect 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.


You can easily deploy Fully to many devices as follows:

  • Install Fully 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 App (if you have different devices or different Android versions please test it on each device type/version)
  • If you have a Volume License Key enter it in Other Settings
  • Export settings to fully-settings.dat (also in Other Settings)
  • Take the file fully-settings.dat, rename it and place to fully-auto-settings.dat (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)
  • Start Fully once on each device
  • Fully will automatically import settings from fully-auto-settings.dat
  • If you had a Volume License Key included in the settings file Fully will take the key and register a license for this device automatically (Internet connection is required)
  • Remove fully-auto-settings.dat from device if you want to avoid reimporting the settings on each Fully start.

If you have Android 6+ ask me for a special APK file as the settings auto-import is disabled by default (otherwise permission dialog would appear in Android 6+ on each first app run).


How can I use URL whitelist in Fully?
How can I play videos in Fully?
How can I use other apps in Kiosk Mode?
What are the best settings for an unattended device?


Fully does not track users. No information about Fully usage is transmitted to or stored on my servers.

If you are using the PLUS features the app checks periodically the license validity if the Internet connection is available. The anonymous device ID will be sent via HTTPS to my 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 authentification in case of license relocation.

If you are using Fully Cloud service with Remote Admin from Everywhere 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.

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


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.


2016-02-06 - v0.1
2016-05-19 - v1.0
2016-06-05 - v1.1
2016-06-28 - v1.2
2016-07-12 - v1.3
2016-08-05 - v1.4
2016-08-27 - v1.5
2016-09-08 - v1.6
2016-09-23 – v1.7
2016-10-18 - v.1.8
2016-11-05 - v.1.9
2016-11-19 - v.1.10
2016-12-03 - v.1.11
2016-12-23 - v.1.12
2017-01-03 - v.1.13
2017-01-14 - v.1.14


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

  • 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 app is terminated when Android System Webview is updated (disable the updates or use Restart Fully After Update option)
  • Some videos play fullscreen with broken aspect ratio (Android media player bug?)
  • On Fire Tab is the option Unlock Screen out of Order (it’s a limitation of Amazon’s Android, another ROM can help)


Аlexеy Оzеrov
Vоn-Witzleben-Str. 12
D-41540 Dоrmagen

Phone: +49 21ЗЗ 27ЗЗЗЗ
eMail : alexey@ozerov.de

Your feedback is welcome! Enjoy Fully!