binomtech
Информационные технологии и интернет
Россия
Android
Апрель 2021
Требуется разработать мобильное приложение в виде лаунчера (оболочки), которое бы полностью замещало стандартный интерфейс для запуска приложений и системных настроек устройства. Данное приложение должно предоставлять пользователю возможность осуществлять строгий контроль над тем, какие именно приложения и функции устройства являются доступными в те или иные промежутки времени. Приложение должно быть предназначено для корпоративного применения, для работы с гостями или для реализации родительского контроля, обеспечивая при этом высокие стандарты безопасности и предотвращая любые несанкционированные попытки доступа к данным, настройкам и сторонним приложениям.
1. Архитектура приложения:
• Приложение функционирует в качестве основного лаунчера (домашнего экрана) в операционной системе Android.
• Архитектура включает в себя два основных режима работы: «Редактирование» (который является разблокированным) и «Блокировка» (который является ограниченным).
• Когда активируется режим «Блокировка», система перехватывает все попытки запуска приложений, не входящих в список разрешенных, а также блокирует переходы в раздел системных настроек.
2. Функционал:
• Настройка режима блокировки:
◦ Пользователь получает возможность выбирать, какие приложения будут доступны для использования в режиме блокировки (в качестве примеров можно привести Google Maps, Gmail, YouTube, Phone, Drive).
◦ Добавление и удаление приложений из списка разрешенных осуществляется через удобный интерфейс для выбора.
◦ Существует возможность установки пароля для входа в режим редактирования и для выхода из режима блокировки.
◦ Предусмотрена настройка двойной аутентификации (например, комбинация пароля и PIN-кода или биометрических данных).
• Режим блокировки:
◦ На экране отображается исключительно заранее выбранный набор приложений — все остальные приложения являются скрытыми и недоступными для запуска.
◦ Доступ к системным настройкам (таким как Wi-Fi, Bluetooth, звук, экран, уведомления, безопасность и другие) полностью заблокирован.
◦ Запрещено переключение между приложениями с помощью функции многозадачности (меню недавних приложений).
◦ Запрещено выключение устройства или его перезагрузка без предварительного прохождения процедуры разблокировки.
◦ Установка новых приложений и удаление существующих невозможны.
◦ Системные уведомления могут отображаться, однако их нельзя открывать или с ними нельзя взаимодействовать (также существует опциональная возможность их полного отключения).
• Интерфейс и дизайн:
◦ Пользовательский интерфейс выполнен в минималистичном стиле, является интуитивно понятным и имеет четко выделенные разделы: «Настройки», «Выбор приложений», «Включить блокировку».
◦ Главный экран в режиме блокировки содержит только иконки тех приложений, которые были разрешены.
◦ Экран настроек включает в себя такие элементы, как чекбоксы, списки и кнопки для подтверждения действий.
◦ Анимации, сопровождающие переходы между экранами, являются плавными и не содержат лишнего визуального шума.
◦ Реализована поддержка как темной, так и светлой темы оформления.
◦ Все основные элементы управления расположены в нижней части экрана, в зоне, обеспечивающей легкий доступ.
• Безопасность:
◦ Все настройки и пароли хранятся в зашифрованном виде.
◦ Блокируются попытки обхода ограничений с помощью ADB или путем установки сторонних лаунчеров (приложение устанавливается по умолчанию и не может быть удалено без предварительной разблокировки).
◦ Предусмотрено логирование всех попыток обхода системы (данная функция является опциональной и может использоваться в корпоративной среде).
• Управление и расширения:
◦ Существует возможность задания временных рамок для активации режима блокировки (к примеру, с 9:00 до 18:00).
◦ Реализована поддержка профилей: например, «Для сотрудников», «Для гостей», «Для детей» — при этом каждый профиль может иметь уникальный набор приложений и индивидуальные настройки.
◦ Для бизнес-клиентов предусмотрена интеграция с облачным сервисом, позволяющая осуществлять централизованное управление несколькими устройствами.
3. Технологии:
• Язык программирования: Kotlin (для Android)
• Архитектура: Комбинация MVVM и Clean Architecture
• База данных: Room для хранения всех настроек приложения
• Шифрование: Android Keystore System
• Пользовательский интерфейс: Jetpack Compose для создания современного и адаптивного дизайна
После завершения процессов разработки и тестирования было создано полнофункциональное мобильное приложение-лаунчер, которое:
• Полностью заменяет стандартный лаунчер операционной системы Android.
• Обеспечивает реализацию строгого контроля над доступом к приложениям и системным функциям устройства.
• Предоставляет удобный и безопасный интерфейс, предназначенный для настройки списка разрешенных программ.
• Обеспечивает защиту устройства от несанкционированного использования, от изменения критичных настроек или от установки вредоносного программного обеспечения.
• Является подходящим решением для корпоративных клиентов, учебных заведений, медицинских учреждений, а также для родителей, которые желают контролировать использование телефонов своими детьми.
• Обладает современным и приятным дизайном, который соответствует принципам Material Design 3, и имеет плавные переходы, а также интуитивно понятную навигацию.
Данное приложение преобразует обычный смартфон в защищенное рабочее устройство, на котором доступен строго ограниченный, необходимый функционал — что позволяет исключить риски, убрать все лишнее и избежать каких-либо компромиссов в безопасности.