Kiosk mode
A handy Android application to prevent people from accessing the robot's tablet settings
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
- 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.
- 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.
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.
On your Pepper, start the Update SoftBank Robotics applications application then Check update now.
Configure Access Manager
WARNING: If you don't set a Digit Code, the Exit procedure remains the same as before.
- Launch the Access Manager application
- 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.
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 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
You can send the broadcast 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).
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.
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.
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.
Uninstalling Kiosk Client App
- Exit Kiosk Mode
- 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.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article