Режим владельца устройства Android с помощью приложения, подписанного ключом платформы (или используйте подписанное приложение для настраиваемой политики устройства)
У меня есть приложение, подписанное ключом платформы, и мне нужно перевести устройство в режим киоска.
Что означает режим киоска в моем случае:
- Установите ограничения для пользователей (измените действия по умолчанию, установите VPN и т. Д.)
- Запретить доступ пользователей к сторонним приложениям, некоторым системным приложениям и т. Д.
- Установите пользовательское действие как домашнее действие без взаимодействия с пользователем
- Перевести приложение в режим блокировки задач
Я знаю, что DevicePolicyManager может это сделать. Но на устройстве нет системы подготовки Google (например, NFC или QR). Существует ли способ установить владельца устройства с помощью приложения, подписанного ключом платформы, или использовать такое приложение с преимуществами приложения владельца устройства?
2 ответа
Я обнаружил, что приложение с системными привилегиями может делать все, что можно сделать с помощью DevicePolicyManager. Но некоторые функции, предоставляемые как hide API:
- Установить ограничения для пользователей - можно сделать с помощью UserManager
- Запретить доступ пользователей к сторонним приложениям - можно отключить такие приложения с помощью диспетчера пакетов.
- Установите пользовательское действие как домашнее действие без взаимодействия с пользователем - это можно сделать с помощью PackageManager
- Переместить приложение в режим блокировки задач - это можно сделать, отключив компоненты пользовательского интерфейса в строке состояния и панели навигации системы с помощью StatusBarService.
Ключ платформы дает вам только определенные разрешения для выполнения определенной роли или выполнения некоторых системных настроек, но для вашей задачи вы в основном правы с DevicePolicyManager. Я не понимаю, зачем вам для этого NFC или QR, вы можете реализовать простой код для разблокировки режима киоска.
Конечно, для этого есть готовые приложения, и вам не нужно заново изобретать колесо, поскольку такого рода приложения нетривиальны.