Enterprise Home Screen | Control Settings Available to the User
Overview
This article details how to disable the search icon for all Settings screens and how to determine the intent required to call a specific setting such as Bluetooth.
In Android Oreo and later, the default, when accessing settings, is to show the search icon in top right. This allows access to any other settings using search by name (as per screenshots below). This functionality normally prevents allowing user access to specific Settings pages via an Intent.
Method
The Search icon process is named com.android.settings.intelligence and can be disabled using Mx AppMgr :
<characteristic version="8.0" type="AppMgr">
<parm name="Action" value="DisableApplication" />
<parm name="Package" value="com.android.settings.intelligence" />
</characteristic>
Once this is done , the search icon will no longer be visible in any Settings screens i.e. the user will be locked into a specific Setting provided it is accessed via an Intent:
A settings intent can now be used to launch specific settings such as WiFi and Bluetooth without allowing access to other Settings via Search:
Finding the intent required to launch specific Settings
This process is greatly simplified using a Shortcut tool such as Shortcut Maker ( https://play.google.com/store/apps/details?id=rk.android.app.shortcutmaker ) which displays the available intents under Settings/Settings Activities :
A specific Settings activity can be selected and tested in Shortcut Maker and if it works as expected, the intent and class name can be copied from the details page as per the WiFi example below:
After identifying the required intent + classname ,they can be added to EHS in two ways:
- Edit enterprisehomescreen.xml and manually add the intent and classname in the <applications> section as per the example below:
<application label="WiFi" package="com.android.settings" activity="com.android.settings.wifi.WifiPickerActivity"/>
Save the modified file and copy it back to the device via ADB to make it effective:
Adb push enterprisehomescreen.xml /enterprise/usr
- ShortcutMaker can add the app to the EHS homescreen via the Create shortcut button. Due to Google restrictions on duplicating shortcuts, this would have to be done manually on each device which will complicate the commissioning process. In order for this to work , the EHS config file (enterprisehomescreen.xml) must include the following tags in order to enable shortcut creation:
<pin_shortcuts>
<pin_shortcuts_enabled>1</pin_shortcuts_enabled> <!-- 1=allow, 0=disable (default) -->
<bypass_confirmation>0</bypass_confirmation> <!-- 1=bypass, 0=confirm (default) -->
</pin_shortcuts>
Lockdown user access to all Settings
Quick Setting icons in the Notification pulldown can be disabled via Mx in order to prevent user access to Settings via Notification:
<characteristic version="7.1" type="UiMgr">
<!--NOTIFICATION BAR PULLDOWN-->
<parm name="NotificationPullDown" value="1" />
<!--NOTIFICATION SETTINGS ICON-->
<parm name="NotificationSettings" value="2" />
<!--QUICKSETTINGS ICON DISPLAY-->
<parm name="QuickSettings" value="2" />
</characteristic>
Ian Hatton