Режим «киоска» в Android
Настройка Android-устройства для работы в режиме киоска
- Операционная система Android, начиная с версии 5 (реально 5.1, не везде на 5ой версии полноценно работает) позволяет штатно включить режим «киоска». Т.е. режим работы устройства, когда оно заблокировано от доступа ко всем частям операционной системы, и на экране пользователю видно только приложение с заданной владельцами устройства функциями.
Например, это может быть функция кассы, терминала оплаты услуг, витрины магазина и т.п.
- Для этого на устройстве в настройках Android есть список приложений-администраторов устройства, т.е. приложения, которые имеют расширенные разрешения по управлению доступом, могут блокировать-разблокировать экран и другие важнейшие функции. Пользователь должен сам давать разрешение вручную приложениям, которые желают стать администратором на устройстве.
- Приложения-администраторы не могут запросто быть удалены с устройства, сначала надо опять же вручную это разрешить при попытке удаления. Не зря вредоносные «вирусные» приложения стремятся сделаться администратором.
- Если Android устройство нужно сделать «киоском», т.е. выставить в публичный доступ для пользователей, заблокировав всё, кроме нужной функциональности – нужно разрабатываемое приложение сделать администратором, и даже более того «хозяином» устройства, т.е. самым главным администратором, которого нельзя удалить совсем. Т.е. пока не будет выполнен полный сброс устройства до заводских настроек – «хозяина» удалить нельзя.
- Приложение-хозяин разрабатывается так, чтобы автоматически запускаться, блокировать систему, включая область уведомлений сверху, через которую можно вызвать системные настройки (злоумышленно) и изменить на устройстве что угодно, сломать «киоск». Выход из «хозяина» предполагается делать специальным скрытым вызовом ввода пароля, если пароль введен верно – «хозяин» разблокирует систему и завершает свою работу, возвращая на экран системную оболочку-лаунчер, из которой опять доступны все функции Android.
- Когда приложение-«хозяин» установлено на устройство – нужно однократно дать команду, заносящую приложение навсегда в список администраторов, для этого необходимо:
- Включить доступ к настройкам разработчика
- Заходим в «Настройки» и выбираем раздел «О телефоне (О планшете)».
- Потом скролим вниз и видим «Номер сборки», тапаем по нему семь раз.
- После седьмого тапа система сообщит пользователю, что он стал разработчиком.
- Зайти в раздел для разработчиков, и включить «Отладку по USB»
- Подключить устройство USB-кабелем к компьютеру и
- Установить драйвер ADB (именно «ADB-драйвер», а не другие !), если он не установится автоматически: искать в Сети для своего устройства (и убедиться, что он без желтого треугольника в Диспетчере Устройств, если используете ОС Windows)
- разрешить передачу данных на телефоне, если система запросит
- разрешить передачу данных на стороне компьютера, если система запросит
- ADB – это подсистема консольного администрирования Android-устройств (Android Debug Bridge), на компьютере собой представляет каталог с консольной программой adb.exe и её библиотеками, загружайте последнюю версию отсюда: https://developer.android.com/studio/releases/platform-tools.html
- После загрузки ADB, распаковки на своем компьютере, откройте консоль (в ОС Windows запустив программу “cmd”), и попробуйте увидеть свое устройство подключенным к компьютеру, командой “adb devices”:
- Если в списке есть строка device – то, наконец-то, можно дать последнюю команду на сохранение приложения в качестве «хозяина»:
adb shell dpm set-device-owner kiosk.app.package/AdminReceiver
(данная команда применима только к конкретному приложению с именем пакета «kiosk.app.package », в котором есть именно такой компонент как «AdminReceiver »)
- Сообщение “Success:…” скажет об успешном завершении нашего нелегкого дела 🙂
- Если будет сообщение об ошибке типа «Not allowed to set the device owner because there are already some accounts on the device» — нужно удалить все экаунты, которые существуют на устройстве, чаще всего потребуется сброс на заводские настройки.
- Теперь можно отключить включенную «Отладку по USB”, чтобы злоумышленникам, укравшим устройство – было бы гораздо сложнее забраться внутрь с помощью ADB
- … ну и запускать на устройстве установленное приложение-киоск, но ВНИМАНИЕ: предварительно узнав у его разработчика способ разблокировки, и пароль !
Дополнительно, чтобы приложение-киоск работало на устройстве и после перезагрузки — нужно сделать его лаунчером по-умолчанию, в системных настройках не забыть разрешить приложению работать в фоне без ограничений, и отключить блокирование устройства — т.е. никаких вводов паролей, графических ключей, отпечатков пальцев…