I'm trying to create my own Launcher Application to be used in Public mode (Public Device UI mode), on a DX80.
I can install the new Launcher in Enhanced mode, but once I switch the Device to Public mode, my app is replaced by the default app .
Is it possible to specify a different Launcher app to be run in Public mode?
If not, can the default app be changed/extended?
Good question. Unless someone else beats me to it, I'm going to dig into this and get back to you as soon as I can get an answer. Just one question: What are the drawbacks of you using Enhanced mode? Could you design your launcher to restrict enough access to make it behave like a kiosk?
The Public Mode Ui does not support customization, currently.
If you can provide some details on the use-case, technical requirement, and business justification/opportunity at firstname.lastname@example.org, we can forward this enhancement suggestion to the Product Manager team.
The idea is to build a kind of Kiosk App, that inhibits some actions for the users.
If we could have access to the native PHONE app, we could tweak it. Is this something we can have?
If not, we will need to handle all events that make the PHONE app to become active, and avoid the user to be able to dial any number he wants or take control of all dialing functions.
Some events don't seem to be possible to handle (HOLD, RESUME, TRANSFER...) and the PHONE app always takes control of the running thread, and gives the user access to the dial pad...
We are using Cisco's Telephony API. Should we use a different API for what we are trying to achieve?
Without any of the above alternatives, we cannot have a controlled graphic layout and user interface defined by us, as Cisco's PHONE app will somehow take control on some of the events we can't even handle...
As you describe, a lot of effort was put into ensuring that the phone UI is always accessible for the device's primary purpose (being a telephony device) over secondary applications. This unfortunately conflicts with the use-case of a 'kiosk' mode, which apparently lots of developers are interested in.
About the only workaround I have heard of, is to replace the home activity with a new activity having window layout property of 'TYPE_SYSTEM_ALERT', which should prevent any other screens/dialogs from appearing on top.
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
// WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | // If this flag is added you cannot interact with overlay
Enclosed is a small project that may be helpful (no support)
Thanks. That does help to keep the application focused and on top of all others.
We still need the application to understand that the call is on hold or holding transfer.
We don't seem to be able to catch any event when the other party places the call on hold.
The PHONE app gets that event, somehow, and displays the DIAL PAD.
If we can catch the same event, we can overlay something to hide the DIAL PAD and remove it to show the video call again, when the call is resumed.
Do we need a different API for this?
Since you're using the Cisco Telephony API for the Android devices, that's as fine-grain as you can get on events. Receiving an event for far-end hold is likely a limitation of the API.
I too am interested in this.
I'd love to have a kiosk mode, with a few buttons to press.
We're a community college, so buttons would be something like Advisor, Financial Aid, IT Helpdesk, Veteran's Affairs, etc.
Any progress since 2015?
We have both DX70 & DX80 purchased to toy with.
we did manage to achieve our Kiosk like requirements
Although with the latest news of a switch from Android to Collaboration Endpoint (CE) Software on the DX Serires devices I don't know if this is still possible...