С разрешением администратора устройства https://developer.android.com/guide/topics/admin/device-admin вы можете прагматически блокировать разблокировку устройства.
Это приложение также использует разрешение для "извлечения запущенных приложений" android.permission.GET_TASKS
, поэтому мы можем обнаружить текущий запущенный передний планприложение.Проверить ответ.https://stackoverflow.com/a/17756786/1025070 с этим, если пользователь попытается нажать домой и уйти, мы сможем мгновенно проверить приложение не в forground и снова запустить нашу деятельность.(это обходной путь, чтобы определить, если пользователь уходит из приложения при нажатии Home).
Проверьте мое приложение https://play.google.com/store/apps/details?id=com.udayalakmal.applock&hl=en, которое добавляет наложение экрана блокировки на любое приложение, которое не может обойти.использовать одно и то же приложение проверки запуска на переднем плане.
@ user2511882 - Создан пример приложения, которое просто загружает Activity, когда устройство заблокировано, и другое действие, когда устройство разблокируется
https://github.com/UdayaLakmal/LockScreenDemo
** Это всего лишь демонстрация, вы должны использовать приемники с фоновым сервисом для продолжения мониторинга состояния устройства и устранения утечек памяти. При тестировании с Android 6 API 23 не нужно отслеживать запущенные приложения, так как это используется только с экраном блокировки устройства.
** Проверьте, как я получаю событие нажатия кнопки «Домой» в режиме блокировки экрана.