Android application

This is a simple Android application whose purpose is to display fullscreen non-interactive dashboards on Android devices. Its main use is to be run from an Android stick plug on some TV to run the web application to display dashboards.

Supported devices

Currently, the minimal version of Android is 4.2 (Jelly Bean). However, it works best with Android 4.4 (Kit Kat) or later since the webview component shipped in those versions come from the Chromium project and are pretty up-to-date. In the future, an external webview may be used [1].

There are a lot of Android devices that you can choose to run Dashkiosk on. When choosing one, prefer the ones which can be upgraded to Android 4.4.

Features

  • It registers as a possible home screen. It is therefore to run the application on boot.
  • It provides a really fullscreen webview. Absolutely no space lost in bars.
  • No possible interactions. If run on a tablet, the user is mostly locked out. However, there are still some way to interact with the device while the application is running by invoking the settings and changing the home application from here.
  • Prevent the device going to sleep.

Compilation

If you don’t want to compile the Android app yourself, you can download a pre-compiled version from GitHub.

You need to download the Android SDK. Once installed, you should manage to get the android command in your path. Execute the remaining steps:

  1. Grab the latest tarball for Dashkiosk from GitHub.

  2. Unpack it and go into the android directory.

  3. Execute the following commands to get an APK to be installed on an Android device:

    android update project -p .
    ant debug
    

At the end of the compilation, you get bin/DashKiosk-debug.apk that should be installed on the Android device.

Installation

Ensure you have adb available in your path. If not, it is available in the platform-tools directory. You can then install the APK on a device attached through USB on your computer with the following command:

adb install -r bin/DashKiosk-debug.apk

Alternatively, you can just point a browser to the APK and you will get proposed to install it. You need to ensure that you allowed the installation of APK from unknown sources.

The next step is to run the configuration panel by clicking on the pen icon in the action bar.

Configuration

The orientation is configured to landscape by default. You can choose either auto or portrait.

If you want to lock a bit the application, you can lock settings to prevent any further modifications. You can still revert the changes by invoking the preferences activity with adb:

adb shell am start -n \
   com.deezer.android.dashkiosk/com.deezer.android.dashkiosk.DashboardPreferences

The important part is to input the receiver URL. You can check that this is the correct URL with any browser. You should see a dashboard with some nice images cycling.

The timeout is not really important. Until the application is able to make contact with the receiver, it will try to reload the receiver if the timeout is reached.

Alternatively, the configuration can be done at compile-time by modifying res/xml/preferences.xml.

Usage

Once configured, just run the application as usual. You can also click on the home button and choose the application from here to make it starts on boot.

Troubleshooting

Still with adb, you can see the log generated by the application with the following command:

adb logcat -s DashKiosk AndroidRuntime

The log also includes Javascript errors that can be generated by the dashboards. Javascript errors from the receiver are prefixed with [Dashkiosk].

Footnotes

[1]For example, the one from the Crosswalk project is a good candidate. It is currently not embeddable but it is planned. You could look at XWALK-957 for progress on this.