Android restricts access to Secure and Global settings and special permissions, such as event injection that makes remote control possible, APN configuration, language settings, global Android settings, etc.
To make these features work, you might need a supervisor plugin. This plugin allows the Esper Agent to access the Android OS and system-level permissions.
At Esper, we have a library of Supervisor Plugins and can help you build a customized one.
Getting a Supervisor Plugin
Here's the general flow for requesting and signing a Supervisor Plugin:
1. Reach out to Esper Support to obtain a supervisor plugin. When you reach out, include your device, model, and Android version.
2. If a signed plugin exists for your device, Esper will provide one to you. If not, Esper will provide you with an unsigned plugin.
3. If Esper provides you with an unsigned plugin, provide your device manufacturer (OEM) with the unsigned plugin. The OEM will need to sign the plugin with their platform keys.
4. Share the signed plugin with Esper Support. We will upload it to your tenant. After about 15 minutes or a reboot, eligible devices should receive the plugin.
If you're interested in getting started, contact Esper and see Setting Up the Supervisor Plugin for more information.
Global Setting Exceptions
While most global settings require the plugin, some global settings that do not require the plugin include:
-
"adb_enabled": enable/disable ADB over USB
-
"auto_time": automatically sets the device's UTC system clock
-
"auto_time_zone": automatically sets the device's timezone
-
"data_roaming": enable/disable data roaming
-
"usb_mass_storage_enabled": enable/disable USB mass storage to transfer files
-
"wifi_sleep_policy": set the policy for when Wi-Fi should go to sleep
-
"stay_on_while_plugged_in": set the device ON/OFF when it is plugged in
-
"wifi_device_owner_configs_lockdown": control lock for the Wi-Fi configurations created by a Device Owner app
-
"bluetooth_on": enable/disable Bluetooth
-
"development_settings_enabled": check whether the user has enabled development settings
-
"network_preference": user preference for the network(s) use
-
"wifi_on": enable/disable Wi-Fi
This means you shouldn't need a plugin to use these features. Keep in mind that some devices may have other requirements.