Приложения в режим павилион за Android
Много от нас работят всеки ден по определени приложения, създават нещо свое или изпълняват изискванията на небрежен клиент. Едно от тези изисквания може да бъде нещо като: „Искам да не мога да изляза от приложението, не искам да мога да правя нещо друго, освен като в моите приложения.“ В тази тема искам да споделя мислите си за това как да направя това.
Първото нещо, до което стигаме, е, че научаваме за нов тип приложения - Kiosk Mode - специален тип приложения, които обикновено работят на устройства на обществени места. В такива приложения функционалността, до която потребителят може да има достъп, е ограничена от самото приложение. Достъпът до системата или каквито и да е настройки не е разрешен. Не можете да оставяте такива приложения. И тъй като тук говорим за Android, за съжаление техният API не предоставя никакви възможности за създаване на този тип приложения. Нека се опитаме да разберем какво можем да направим с всичко това и как да угодим на нашите клиенти поне малко.
Хардуерни бутони и съединители
Всяко устройство ни предоставя специфичен набор от бутони и различни различни конектори, като USB, захранване и т.н. В този случай като разработчици не можем да направим много по въпроса. При поставянето ще трябва да осигурим дизайн, който напълно да блокира възможността за използване на такива неща.
Панел с виртуални бутони
Започвайки с Android 3.0, се предлагат някои алтернативи на твърдите бутони, като лента в долната част на екрана. Това включва Назад, Начало, Опции, Състояние на батерията и други.
Но за нашето приложение този панел може да бъде много досаден, тъй като ви позволява да излезете от приложението, да влезете в системните настройки и т.н., което може да наруши необходимия работен поток. Но има един начин този панел да изчезне. Всичко, което ще бъде описано тук и по-долу, изисква root права на вашето устройство.
И така, ще трябва да изпълним проста команда:
услуга повикване дейност 79 s16 com.android.systemui
Тази команда може да се изпълни или чрез adb, или директно от приложението:
Това ще изтласка враждебния панел от погледа ни. Но ако изведнъж се нуждаем от този панел, тогава можем също да го върнем само чрез командата:
am startservice -n com.android.systemui/.SystemUIService
Това решение работи успешно на Android 3.0. Все още не мога да кажа как стоят нещата с 4.0.