Kiosk mode

A handy Android application to prevent people from accessing the robot's tablet settings
Kiosk mode

How to prevent end users from going into the tablet settings or using any backoffice applications?

As a customer-facing device, you may want Pepper's tablet to run your app in kiosk mode only. Kiosk Client is an Android application that make it possible to automatically launch other apps in kiosk mode, and to exit only with a secret digit code.

To run your app in kiosk mode, just set it as default application and run Kiosk Client. Let's see how to do this in details!

Enter kiosk mode with Pepper

Kiosk Client is an Android application that allows the tablet to enter kiosk mode (i.e.hide Top and Navigation bars). It automatically launches an application (that has previously been set as default) when Pepper boots up.

The goal is to prevent end-users from going into the tablet settings or using other applications.

It is mandatory to use the Access Manager application with Kiosk Client. This application will be automatically downloaded on your Pepper with Kiosk Client.

It will allow you to set up a Digit Code to prevent anyone from exiting kiosk Mode without this code.

Please find here the How To Use Kiosk Client.

Installing Kiosk Client application

  1. Go to the Kiosk Client page on Command Center Store, then add the application to your missions by clicking the "Add to My Missions" button.
    Kiosk mode: the "Add to My Missions" button
    Kiosk mode: the Add to My Missions button

    If you already have Kiosk Client in your missions, you can skip step 1.

Reminder: a Command Center Mission is an application or a group of applications, i.e. the content you can deploy on robots.

  1. Then in the Client Tab on Command Center, click on the robot you want and add Kiosk Client version 2.1.2 to your robot.
  2. On your Pepper, start the Update SoftBank Robotics applications application then Check update now.
    Kiosk mode: launcher
    Kiosk mode: launcher

Configure Access Manager

WARNING: If you don't set a Digit Code, the Exit procedure remains the same as before.

  1. Launch the Access Manager application

    Kiosk mode: Launch the Access Manager application
    Kiosk mode: Launch the Access Manager application
  2. You have to create a Digit Code. Write this Digit Code somewhere safe and the associated Recovery Code too that will be displayed after you clicked Save Digit Code. If you lose both codes, the only way to change the Digit Code is by contacting the Customer Care team to request the Recovery Code.

    Kiosk mode: Create the robot digit code
    Kiosk mode: Create the robot digit code
    Kiosk mode: Once you set up a robot's pin code with Access Manager, you can get its recovery code on the robot's page on Command Center
    Kiosk mode: Once you set up a robot's digit code with Access Manager, you can get its recovery code on the robot's page on Command Center

Set the default application remotely

On the Command Center Client Tab, assign a mission containing an APK to your Pepper.

Then set the mission you want as default by hovering your mouse pointer over any mission.

Set a Command Center mission as a default application
Set a Command Center mission as a default application

Set the default application locally

WARNING: By default, if there is a remote configuration (Command Center), it will have priority over the local one.

Once Kiosk Client has been installed on the tablet, the default application can be set locally by sending a broadcast.

It will only work if Access Manager is installed on the tablet and if a Digit Code has been set.

There are 2 ways to send the broadcast:

1. Via adb

$​ adb shell am broadcast -a kioskclient.intent.action.CHANGE_LOCAL_APP -e LAUNCH_ID com.package.name

with com.package.name as the name of the package you want to launch at boot.

2. Via your application by adding the following code

Intent intent = new Intent();

intent.setPackage("com.softbankrobotics.kioskclient");

intent.setAction("kioskclient.intent.action.CHANGE_LOCAL_APP");

intent.putExtra("LAUNCH_ID", "com.package.name");

sendBroadcast(intent);

When the information sent via broadcast is received by Kiosk Client, it will display a warning pop-up to confirm the current operation.

If the user accepts, Kiosk Client will ask the user to enter the current Digit Code.

Once it is done and correct, Kiosk Client will save locally the corresponding application as the default application.

Check this Android Guide for more information about broadcast!

Unset the default application locally

If a default application has been previously set locally, it can be unset by following the next instructions. It will only work if Access Manager is installed on the tablet and if a Digit Code has been set.

1. Via adb

$​ adb shell am broadcast -a kioskclient.intent.action.CHANGE_LOCAL_APP --esn LAUNCH_ID

2. Via your application by adding the following code

Intent intent = new Intent();

intent.setPackage("com.softbankrobotics.kioskclient");

intent.setAction("kioskclient.intent.action.CHANGE_LOCAL_APP");

intent.putExtra("LAUNCH_ID", (String) null);

sendBroadcast(intent);

Launching Kiosk Client

Once Kiosk Client has been installed on the tablet, Kiosk Client can be launched.

  1. Click on its icon in the list of installed applications.
  2. On the next robot reboot, Kiosk Client will start automatically.

When Kiosk Client is launched, it will fetch the default application to run. (loading screen)

Kiosk Client loading screen: the application fetches the default application to run
Kiosk Client loading screen: the application fetches the default application to run

Once Kiosk Client has retrieved the “default application”, it will launch it automatically.

If no application was set, it will show a pop-up with a retry button. When the retry button is clicked, Kiosk Client will try to fetch the “default application” again.

Kiosk Client pop-up: No default application has been found
Kiosk Client pop-up: No default application has been found

If the application that was set as “default application” cannot be found, Kiosk Client will show a pop-up with a retry button. Note that the “default application” must already be installed on the tablet.

Kiosk Client pop-up: The application is not installed and cannot be launched
Kiosk Client pop-up: The application is not installed and cannot be launched

Exiting kiosk mode

It is possible to exit kiosk mode with the following combination:

  1. Slide 3 fingers from the external left border to the center, then release;
  2. A grey transparent area will appear on the top left corner of the screen;
  3. Touch this area 5 times;
  4. Confirm on the pop-up message;
  5. If AccessManager is installed with an active Digit Code, then the Digit code screen will be displayed as additional security. Enter the set Digit Code to exit the kiosk mode.
    Exit kiosk mode, the manual method
    Exit kiosk mode, the manual method
    Kiosk mode: Exiting kiosk mode with security access
    Kiosk mode: Exiting kiosk mode with security access

Uninstalling Kiosk Client App

  1. Exit Kiosk Mode
  2. Uninstall the app

Warning: If you uninstall the Kiosk Client application without exiting Kiosk Mode first, your robot will stay with Kiosk Mode activated and you won't be able to exit it.

In that case, the only way to unlock Kiosk Mode (if you uninstalled the application without exiting first) is to reinstall the Kiosk Client app, then exit it as usual.