Pull to refresh

Comments 10

Lock Task это не совсем режим kiosk. Ну то есть сделать такое приложение можно, но лучше воспользоваться EMM. Кстати, сталкивались ли с неотключаемыми всплывающими сообщениями? На планшетах samsung даже в режиме kiosk с полными правами и со всевозможными ограничениями в policy осталось у нас две проблемы: это всплывающее меню о том, что подключенная зарядка работает в медленном режиме; и при перезагрузке планшета иногда приложение не запускается самостоятельно (приходится через EMM API перезагружать устройство).

Добрый день)

Почти любую задачу можно решить разными способами, и оценка "лучше/хуже" всегда исходит из конкретной ситуации) В этот раз был рассмотрен подход с Lock Task mode, но, конечно в разных ситуациях кому-то могут быть более удобны другие варианты.

Касаемо проблем: встречали разные баги, но они были device specific, например, на одном телефоне Samsung (Android 10) не отключалась возможность зайти в Recent apps, но тот же код на другом телефоне отрабатывал как ожидалось. Поскольку тут дело за реализацией на уровне ОС, к сожалению, поправить это поведение особо не получится. Вероятно, описанные Вами проблемы того же рода.

"которые хотят дать своим пользователям возможность работы их устройств в режиме одного или нескольких приложений" - мне очень понравилась эта формулировка))) Не отменять все приложения кроме одного-двух, а дать возможность пользоваться одним или двумя. А вы умеете продавать

@SvetlanaPalitsyna Подскажите, а точно ли приложение Profile Owner имеет право вызыватьsetLockTaskPackages и startLockTask? Просто на практике я получаю SecurityException в этом случае. Метод isProfileOwnerApp возвращает true , если что, а isLockTaskPermitted - false. Также в гугловском приложении TestDPC (https://play.google.com/store/apps/details?id=com.afwsamples.testdpc&hl=en&gl=US) после того как установить Work Profile в "Policy Management" в пункте "Start Kiosk Mode" написано "Requires device owner"

Добрый день) Сама я работала с LockTask из DeviceOwner, но по официальной документации гугла ProfileOwner может вызывать метод setLockTaskPackages ().
https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setLockTaskPackages(android.content.ComponentName, java.lang.String[])

Вы пробовали смотреть на других устройствах, это не может быть device specific поведение? Видела много разных отклонений на разных устройствах именно в работе этой фичи, может, тут тоже что-то подобное?

Если проблема не уйдет, можно попробовать рапортовать баг в Google, через раздел Developer support resources, возможно, там получится получить точный ответ.

https://developer.android.com/support

Если вдруг пойдете этим путем, будет здорово, если дадите ссылку на тикет, интересно, на самом деле, почему так получается)

А как сделать приложение администратором устройства? Все манипуляции с манифестом ничего не меняют. Настройки - Безопасность - Приложения администратора устройства - висит только стандартное приложение "Найти устройство". На метод setLockTaskPackages стабильно получаю ошибку SecurityException

Привет)

В тексте я как раз оставляла ссылку на статью, где подробно рассказано про режимы работы и в том числе рассказано по пунктам, как можно сделать приложение админом устройства: нужно прописать ресивер в манифесте, указать там xml файл со списком управляемых политик, а так же отправить интент с действием ACTION_ADD_DEVICE_ADMIN и получить явное согласие от пользователя в отдельном окне.

Подробнее в статье: https://habr.com/ru/companies/kaspersky/articles/717496/

Надеюсь, поможет)

Спасибо, мне уже помог ChatGPT, дал весь код и объяснил что да как. В статьях не хватает кода, например нюансы, что надо сделать приложение админом только через adb и т.д.

Невозможно в одной статье объять сразу всё, поэтому и оставиляю ссылку на дополнительные материалы)

Здорово, что уже получилось разобраться :)

Sign up to leave a comment.