Всем привет это моя первая публикация. И первый опыт написания статей по разработке.
Давайте начнем с небольшого знакомства.
Меня зовут Давран, я андройд разработчик с 8 летнем стажем разработки мобильных приложений разного спектра.
Мой опыт работы:
)
Итого нам нужно чтобы:
- Пользователь не смог выйти из приложения
- Приложение должно запускаться автоматически при включении устройства
- Нельзя давать доступ к системным настройкам и UI
Реализация
Все что мне потребовалось это немного документации,
пару снипетов кода.
За основу решения были взяты Device Owner и Lock Task Mode.
Ну что же, теперь перейдем непосредственно к коду и реализации...
Kiosk Controller
Первым делом нам предстоит ознакомиться с
это API нужно нам для работы с лок скрином девайса а точнее для прослушивание его стейтов.
И так же нам нужно создать
который помогает системе определить куда вести все эти настройки в действие.
*Установка приложения *
На этом создание контролера завершено, далее нам нужно сбросить девайс до заводских настроек, включить USB debugging, разрешить установку через USB и не создавать и не авторизовываться ни под каким аккаунтом на устройстве.
Мы ставим наше приложение на устройство, открываем терминал и выполняем команду
Установка девайс овнера
adb shell dpm set-device-owner "your.package.name/com.example.AdminReceiver
Удаление девайс овнера
adb shell dpm remove-active-admin "your.package.name/com.example.AdminReceiver
и указываем путь до нашего AdminReceiver(это DeviceAdminReceiver который мы создали в KioskController)
class AdminReceiver : DeviceAdminReceiver()
На этом нам осталось лишь установить наше приложение как домашний лаунчер устройства и поздравляю вас, вы теперь админ устройства в режиме киоска.
P.S - я использовал SingleActivity архитектуру для того чтобы добавить скрытую кнопку которая позволит открыть AdminScreen
ввести пин код админа и выйти с режима киоска для конфигурации планшета.
Если хотите могу эту часть тоже описать.
SOCIAL SHARE CARD GENERATOR