Home> Блог

Настройка Android-киоска: что делать, если владелец устройства заблокировал доступ к параметрам

2026-09-11 09:09:05
Настройка Android-киоска: что делать, если владелец устройства заблокировал доступ к параметрам

А планшет Android с диагональю 10,1 дюйма был настроен для использования в режиме киоска с помощью ADB, пользовательского запускателя и функции «Владелец устройства». После перезагрузки приложение запустилось, как ожидалось, однако устройство более не могло получить доступ к стандартному интерфейсу настроек Android.

Это породило типичную проблему при развертывании киосков: если навигация по системе и элементы управления устройством ограничены, то как вернуть планшет в рабочее состояние для последующего тестирования? И если приложению требуется открыть Wi-Fi или другие системные функции, какие намерения (Intents) Android всё ещё можно использовать?

Заказчик сначала применил команды ADB для изменения поведения системного интерфейса пользователя:

adb shell settings put system hide_navbar 1

adb shell settings put system statusbar_disp 1

adb shell settings put system swipe_show_nav_bar 0

adb shell settings put system power_button_show 0

Затем приложение было установлено в качестве экрана «Домой» по умолчанию, после чего его настроили как Владелец устройства включить требуемые функции управления устройством.

После перезагрузки Планшет Android в режиме киоска автоматически запускал приложение, как и ожидалось. Однако клиент больше не мог покинуть главный экран приложения, чтобы получить доступ к настройкам Android или другим системным функциям. Кнопки «Настройки» и «Wi-Fi», встроенные в приложение, также перестали открывать соответствующие системные страницы.

Срочный вопрос заключался не просто в том, как выйти из приложения. Клиенту требовался надёжный способ восстановить Планшет на Android для дальнейшего тестирования, а также он хотел понять, какие системные намерения (Intents) может использовать его приложение.

Почему планшет Android стал недоступен

Проблема возникла из-за одновременного применения нескольких уровней управления устройством.

Пользовательский запускатель определял, какое приложение отображалось в качестве главного экрана, тогда как режим «Владелец устройства» предоставлял этому приложению значительно более широкий контроль над политикой устройства. Документация Android по специализированным устройствам поддерживает такой тип конфигурации для развертывания киосков и управляемых устройств, включая управление приложением по умолчанию для главного экрана и ограничение доступа к системным функциям.

Команды ADB добавляли ещё один уровень, изменяя поведение системного интерфейса пользователя. Эти конкретные параметры зависят от устройства или прошивки, а не являются универсальными API Android, поэтому их точное воздействие определяется тем, как прошивка планшета реализует их.

Это означает, что Планшет на базе Android, используемый в качестве киоска может стать трудно восстановимым, если одновременно изменены запускатель, конфигурация «Владельца устройства», ограничения системного интерфейса пользователя и навигация внутри приложения.

То, что кнопки «Настройки» или «Wi-Fi» в приложении больше не работают, не обязательно означает, что сам Intent составлен неправильно. Целевая активность «Настройки» может быть недоступна, ограничена или иным образом недоступна в текущей конфигурации устройства. Android также рекомендует проверить, может ли Intent быть разрешён, прежде чем пытаться его запустить.

2开发场景图.png

Пути восстановления заблокированного планшета Android в режиме киоска

Если приложение уже настроено как владелец устройства, первым следует рассмотреть программный способ восстановления.

Android DevicePolicyManager предоставляет функции управления устройством, которые могут использоваться владельцем устройства. В зависимости от версии Android и конфигурации приложения приложение-владелец устройства может применить соответствующий механизм очистки устройства, чтобы вернуть планшет в чистое состояние для тестирования. wipeData() является устоявшимся API для удаления пользовательских данных, тогда как более новые версии Android предоставляют дополнительные возможности очистки устройства.

Устаревший clearDeviceOwnerApp() метод не следует рассматривать как общий метод восстановления производства. В документации Android он описан как API, ориентированное на тестирование, и в качестве обычного способа удаления отношения «Владелец устройства» рекомендуется сброс к заводским настройкам.

ADB также предоставляет команды управления политикой устройства, однако они имеют ограничения. Например, adb shell dpm remove-active-admin не является универсальным методом удаления владельца устройства; в документации ADB для Android указаны требования, такие как наличие объявления приложения как testOnly .

Если программное восстановление недоступно, поскольку приложение не может выполнить требуемую операцию, остаётся только аппаратный сброс к заводским настройкам или процедура восстановления Android .

3流程图.png

Точную комбинацию кнопок нельзя предполагать на основе другой модели планшета Android. Поведение режима восстановления определяется прошивкой и аппаратной реализацией планшета. Поэтому для проекта пользовательского планшета на базе Android соответствующую процедуру восстановления необходимо подтвердить для конкретной модели и прошивки до развертывания.

Для этого типа Планшет Android в режиме киоска , наличие определённого метода восстановления особенно полезно при интеграционном тестировании, поскольку конфигурация на уровне системы может намеренно отключать обычную навигацию пользователя.

Тестирование намерений настроек и системных функций на планшете Android

Второй вопрос клиента касался возможности прямого запуска приложением системных функций, таких как Настройки и Wi-Fi.

Android предоставляет стандартные действия для настроек в отношении этих функций. Например:

Функция

Стандартный намерение Android

Основные настройки

Settings.ACTION_SETTINGS

Настройки Wi-Fi

Settings.ACTION_WIFI_SETTINGS

Настройки беспроводной связи

Settings.ACTION_WIRELESS_SETTINGS

Параметры Bluetooth

Settings.ACTION_BLUETOOTH_SETTINGS

Настройки дисплея

Settings.ACTION_DISPLAY_SETTINGS

Параметры местоположения

Settings.ACTION_LOCATION_SOURCE_SETTINGS

Параметры звука

Settings.ACTION_SOUND_SETTINGS

Параметры безопасности

Settings.ACTION_SECURITY_SETTINGS

Параметры приложений

Settings.ACTION_APPLICATION_SETTINGS

Параметры конкретного приложения

Settings.ACTION_APPLICATION_DETAILS_SETTINGS

 

Это стандартные действия параметров Android, а не интерфейсы, специфичные для определённого Производителя планшетов на базе Android . Однако наличие намерения (Intent) не гарантирует его успешного запуска на каждом устройстве или в каждой конфигурации киоска. В Android рекомендуется проверить намерение с помощью метода resolveActivity() перед его запуском.

Для системно интегрированного планшета на базе Android тестирование намерений следует проводить непосредственно на используемой прошивке и версии Android. Тест должен подтверждать не только наличие намерения, но и возможность доступа к соответствующей активности после применения ограничений владельца устройства (Device Owner), загрузчика (launcher) и системного пользовательского интерфейса (system UI).

4流程图(1).png

Если вы работаете над проектом планшета-киоска на базе Android или системной интеграции и нуждаетесь в помощи с восстановлением режима Device Owner, намерениями (Intents) для настроек или связанными проблемами конфигурации, свяжитесь с нами, указав модель планшета и версию Android. Мы обсудим доступные варианты технической поддержки и кастомизации.

 

Тот же принцип применим и к другим системным функциям. Стандартный API Android может существовать, однако фактическое поведение кастомизированного планшета зависит от его версии Android, конфигурации прошивки и политик управления устройством.

А как насчёт запросов пробуждения?

Вопрос клиента о «запросах пробуждения» несколько отличается от запуска страницы настроек.

Intent.ACTION_SCREEN_ON представляет собой защищённую системную трансляцию (broadcast), сигнализирующую о том, что экран стал интерактивным. Это защищённая системная трансляция, поэтому приложение не должно рассматривать её как обычное намерение (Intent), которое можно просто отправить для пробуждения планшета.

Если требуется пробудить экран, предотвратить его отключения или управлять поведением включения экрана , соответствующий механизм зависит от конкретных требований применения. Android предоставляет API управления питанием и API окон/активностей для таких сценариев, включая PowerManager и функциональность блокировки пробуждения (wake-lock) там, где это уместно.

Это различие важно при разработке приложений для Планшет Android в режиме киоска . «Запуск системной функции» и «управление состоянием питания устройства» — это разные системные операции, и их следует обрабатывать с помощью разных API.

5具体场景ui图.png

Техническая поддержка интеграции планшетов на базе Android

Этот случай также демонстрирует, почему развертывание в режиме киоска может потребовать больше, чем базовая конфигурация аппаратного обеспечения планшета на базе Android.

При интеграции планшета в специализированное приложение, POS-систему, киоск, промышленную систему или другое управляемое устройство программная конфигурация может одновременно затрагивать загрузчик (launcher), владельца устройства (Device Owner), системный интерфейс пользователя (system UI), разрешения приложений, намерения настроек (Settings Intents) и поведение при восстановлении.

Для проектов, требующих настраиваемый планшет на базе Android конфигурации: эти требования следует оценивать совместно с аппаратной конфигурацией и конфигурацией системы Android, а не рассматривать как отдельные вопросы на финальном этапе тестирования.

Подходящее решение зависит от версии Android, прошивки планшета, конфигурации приложения и функций, которые системный интегратор должен контролировать. Техническую документацию также можно подготовить на основе доступных интерфейсов системы, поддерживаемых Intent'ов, разрешений и ограничений, присущих конкретному устройству.

Если вы тестируете Планшет на Android для развертывания в режиме киоска или системной интеграции и сталкиваетесь с аналогичными проблемами в отношении Device Owner, пользовательских запускателей, режима киоска, Intent'ов для настроек, ограничений системного интерфейса пользователя или восстановления устройства , пожалуйста связаться с нами для технической поддержки .

Вы можете указать модель планшета, версию Android, конфигурацию развертывания и конкретную функцию, которую пытаетесь реализовать. После этого мы сможем обсудить доступные Настройку планшетов Android и техническую поддержку вариантах решения для вашего проекта.