Запуск windows 7 в режиме киоска. Фишки Windows: ограниченный доступ (режим киоска). Различный системные диалоги

Все мы заметили, что современная панель управления с выходом Windows 8.1 обросла множеством новых функций. Одной из наиболее интересных возможностей я считаю ограниченный доступ для учётной записи, он же — режим киоска.

Сегодня в программе

Как работает ограничение доступа

В этом режиме человек сможет работать только с одним современным приложением, без возможности выхода из него или переключения на другое приложение. Использование классических приложений в режиме киоска запрещено, так как они дают пользователю слишком большой уровень свободы и не могут обеспечить необходимый уровень безопасности.

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

Чтобы выйти из режима киоска, нужно быстро нажать пять раз левую клавишу Win или аппаратную кнопку Win на планшете.

В каких случаях ограничение доступа может вам пригодиться

Фишка может быть полезна в ряде сценариев:

  • Более жёсткий вариант учётной записи Гостя для работы с одним только браузером. Например, для мамы, которая любит посидеть в Одноклассниках, или гостей, которым может срочно понадобиться глянуть результаты футбольного матча.
  • Учётная запись с развивающим и обучающим приложением для маленького ребёнка.
  • Учётная запись для бабушки с приложением Skype или Погода (чтобы не ждать прогнозов у телевизора:)
  • Зацикленное рекламное видео и слайд-шоу на ПК в магазине или на выставке.

Как включить ограниченный доступ

  1. Используйте любую существующую учетную запись с обычными правами или создайте новую (найдите в панели управления учёт ). При этом важно понимать, что при добавлении локального аккаунта, не связанного с учётной записью Microsoft, войти в Mагазин не получится. Как следствие, в режиме киоска будут доступны только стандартные приложения.
  2. Выполните один вход с этой учётной записью и, если необходимо, установите желаемые приложения из магазина.
  3. Настройте ограниченный доступ в параметрах ПК – Учётные записи Другие учётные записи .

После этих несложных действий и перезагрузки можно выполнить вход под пользователем и ощутить все прелести ограниченного доступа.

В теории всё выглядит неплохо, но попробовав новую фишку на двух разных компьютерах с Windows 8.1, я получил совершенно разный опыт. Причём ни на одной из машин он не совпал с тем, что задумали разработчики.

На ноутбуке HP у меня отрабатывали горячие клавиши и, в конечном итоге, хотя и не сразу, получилось запустить классический рабочий стол. Стационарный же ПК никак не хотел выходить из режима киоска при пятикратном нажатии клавиши Win. Пришлось даже воспользоваться чудо-кнопкой… Reset:) . Эти проблемы исчезли после обновления BIOS.

Кроме того, отсутствует возможность контроля над выходом из режима киоска (например, путём ввода пароля административной учётной записи), в чем могут быть заинтересованы администраторы организаций.

Вадим . У меня тоже не сразу заработали пятикратные нажатия для выхода из киоска, но потом я поймал правильный интервал. Вообще, если упорно жать Win, рано или поздно выйдешь (больше все равно ничего не сделать, на то и расчет:) Однако у этой фишки был другой очень интересный поворот!

Как и Денис, я тоже первым делом я ограничил учетную запись работой с Internet Explorer, и стал смотреть, можно ли открывать папки и запускать исполняемые файлы. Кстати, вы знаете, как это проверить?

Оказалось, что можно запускать что угодно, но взаимодействие все равно ограничено одной программой (окно браузера моментально возвращается на передний план). В поисках более подробной информации я зашел в блог инженеров поддержки Microsoft, (EN). Там я с удивлением прочел о том, что из режима киоска по соображениям безопасности исключены три современных приложения – параметры ПК, Магазин и… Internet Explorer! :)

В ответ на мой вопрос инженер подтвердил, что не должно быть возможности назначить IE для режима киоска. Пришлось публиковать в комментариях видеозапись, после чего ему удалось воспроизвести это и у себя, хотя не с первой попытки.

Upd. 17-Dec-2013 . Спустя какое-то время поступило разъяснение. Первоначальная информация в блоге Ask PFE была неверной, и IE все-таки можно запускать. Однако он может отсутствовать в списке приложений, если пользователь, для которого настраивается ограниченный доступ, в данный момент находится в системе.


Первое к чему мы приходим, что узнаём о новом типе приложений - Kiosk Mode - особый тип приложений, обычно работающие на устройствах в публичных местах. В таких приложениях функционал, к которому пользователь может иметь доступ ограничен самим приложением. Доступ к системе или каким-либо настройкам недопустим. Из таких приложений нельзя выйти. И так как мы здесь говорим об Андроиде, то, к большому сожалению, их API не предоставляет никаких возможностей для создания такого типа приложений. Попытаемся же разобраться, что со всем этим мы можем сделать и как хоть немного угодить нашему заказчику.

Хардварные кнопки и разъёмы

Каждое устройство предоставляем нам определённым набор кнопок и различных различных разьёмов, таких как USB, питание и т.к. В этом случае, как разработчики, мы поделать особо ничего не можем. Придётся при размещении предусмотреть конструкцию, которая бы полностью блокировала возможность использования такие вещей.

Панель с виртуальными кнопками

Начиная с версии Андроид 3.0 нам предлагают некоторую альтернативу хардварным кнопкам, такую как панель в нижней части экрана. Сюда входят кнопки «Назад», «Домой», «Опции», статус батареи и прочее.

Но для нашего приложения данная панель может очень мешать, так как позволяет выйти из приложения, войти в настройки системы и прочее, что может нарушить необходимый ход работы. Но есть один способ исчезнуть эту панель. Всё что будет описано здесь и далее, требует root прав на вашем устройстве.
И так, нам будет необходимо выполнит простую команду:
service call activity 79 s16 com.android.systemui

Данную команду может выполнить либо через adb, либо же напрямую из приложения:
Runtime.getRuntime().exec(new String{"su","-c","service call activity 79 s16 com.android.systemui"});

Это заставит враждебную для нас панель уйти с наших глаз. Но если вдруг эта панель будет нам нужна то вернуть её можно также просто командой:
am startservice -n com.android.systemui/.SystemUIService

Или же:
Runtime.getRuntime().exec(new String{"am","startservice","-n","com.android.systemui/.SystemUIService"});

Данное решение успешно работало на Андроид 3.0. Как обстоят дела с 4.0 пока сказать не могу.

Кнопки Home и Back

Если по каким-то причинам панель нужна, но нужно изменить поведение кнопок, то вот один рецепт. Начнём с простого, кнопки Back. Здесь всё легко, переопределяем метод:
@Override public void onBackPressed() { //Наше поведение... }

Теперь сложнее, кнопка Home. Google предусмотрительно отнёсся к этой кнопке, так как это единственный способ покинуть приложение и вернуться на главный экран, но для нас это беда, как раз именно это нам и не нужно. Что мы можем сделать:

Проблемы

К сожалению, не всё так радужно как кажется. Не все вопросы решены до конца. К примеру, посмотрим на стандартную клавиатуру:

В нижнем левом углу имеется маленькая кнопочка, которая позволяет перейти к настройкам клавиатуры, что не есть хорошо:

Решение - создать полностью свою клавиатуру, благо API это позволяет. Но решение слишком муторное, ради одной маленькой кнопочки.

Различный системные диалоги

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

К сожалению, мне не удалось выяснить как запретить показ таких диалогов. Если первый диалог можно выключить в настройках, то со вторым хуже, из него мы можем напрямую попасть в сами настройки. Решение - сделать так же как мы поступили с Launcher.apk - перенести или переименовать приложение настроек.

Заключение

В этой статье я постарался описать известные мне методы для создания Kiosk mode приложений. Если у хабрасообщества есть ещё какие-либо методы, то было бы здорово ими поделиться. Спасибо.

Современная операционная система Windows 10 предоставляет пользователям огромное количество функций и возможностей, которые делают её универсальной и позволяют решать практически любые задачи. В том числе и весьма специфические.
Одна из весьма интересных функций Windows 10 — режим киоска . Что это такое? Это такой режим работы, при котором пользователю даётся доступ только к одному приложению. Ничего более ему доступно не будет.
Это весьма интересная функция, использовать которую можно как в домашних условиях, так и в коммерческих фирмах и на предприятиях. Сразу оговорюсь: настроить ограниченный доступ к компьютеру в таком виде можно только в нескольких редакциях Windows10 — профессиональная Pro, корпоративная Enterprise и Education для образовательных учреждений.
Давайте подробнее разберёмся зачем он нужен и когда его надо применять!

Зачем нужен Режим Киоска в Виндовс?!

Если компьютер или ноутбук приходится с кем то делить — это всегда плохо. В первую очередь потому, что один пользователь может сделать что-то такое, что может навредить другим. У меня, например, таким пользователем является племянник, который садится поиграть в игры, а в результате после этого я частенько не могу найти нужные файлы на рабочем столе.
Другим ярким примером может служить, например, торговый терминал в магазине. Пользователю должно быть доступно только одно приложение в полноэкранном режиме и ничего иного кроме этого.
Единственная оговорка — режим киоска Windows 10 работает только с плиточными приложениями приложения из магазина. С традиционными настольными приложениями он работать не умеет!

Как включить Режим Киоска?!

Для активации режима ограниченного доступа к компьютеру в Windows 10 надо сначала открыть меню параметров:

Открываем раздел «Учетные записи». В меню слева ищем подраздел «Семья и другие люди»:

Здесь надо будет сначала создать учётную запись под которой будет запускаться режим киоска.

В открывшемся окне Вам будет предложено ввести адрес электронной почты пользователя, имеющего учётную запись Майкрософт или его телефон. Мы же кликаем на ссылку «У меня нет данных для входа этого человека». Нажимаем на кнопку «Далее».

Теперь нам предстоит создать локальную учетную запись:

Вводим имя пользователя и пароль. Переходим далее и выходим обратно в раздел «Семья и другие люди». Теперь тут будет созданная учётка:

Сначала выбираем учетную запись, под которой будет проводится запуск режима киоска Виндовс 10.

Как я уже говорил, выбрать можно только так называемые «плиточные» приложения, которые работают в начальном экране Windows 10. Они будут отображаться в отдельном списке.

После этого можно закрывать окно параметров системы и пробовать зайти в Windows 10 с ограниченными возможностями режима киоска. Мне от точно пригодится для того, чтобы защититься от проделок племянника. Я поставлю в запуск солитёра или иную из доступных игр и пусть играет. Но теперь он не сможет удалить ничего лишнего и я буду спокоен!

Кстати, просто так выйти из режима киоска не получится. Чтобы это сделать, надо будет нажать комбинацию клавиш Ctrl+Alt+Del и уже через экран блокировки выйти из ограниченного режима работы Виндовс и выбрать другого пользователя.

Анна Воронова Июнь 9, 2015

Киоски окружают нас повсюду. Конечно, сегодня речь не пойдет о ларьках, в которых можно купить мороженое или лимонад - мы поговорим о мобильных информационных киосках.

Обычный информационный киоск представляет собой терминал с установленным программным обеспечением, с которым пользователь может совершать ограниченный набор действий. Самые распространенные примеры: банкоматы, фотокабинки, автоматы по продаже билетов, автоматы для выдачи талончиков в очередь и другие.

Киоски могут использовать различные технологии: сенсорный экран, купюроприемник, фото и видеокамеры, принтеры и сканеры, Wi-Fi, NFC и т.д. Их общая черта - защита системы от несанкционированной активности. ПО на таких терминалах пресекает любые попытки пользователя изменить настройки системы, выполнить сброс или установить другие приложения.

Мобильные киоски

Бурное развитие привело к тому, что смартфоны и планшеты также стали использовать в качестве информационных киосков. Мобильные киоски имеют ряд существенных преимуществ перед стандартными терминалами: они дешевле за счет компактных размеров и массового производства, а также обладают более широким функционалом.

Мобильные киоски используются, например, в качестве электронных меню в ресторанах, справочников для продавцов-консультантов, для демонстрации модельного ряда в магазинах одежды или автосалонах. При этом использование девайса в нерабочих целях исключено.

Чтобы устройство заработало в режиме киоска, на нем запускается программа, которая блокирует функционал ОС и не дает пользователю выйти из приложения.

Приложения-киоски могут иметь засекреченную административную панель или конфигурироваться с сервера удаленно. Также можно настроить систему отчетов: приложение будет отправлять на сервер статистику о поведении пользователя и информировать администратора о своем состоянии.

Команда Azoft занималась , работающих как kiosk mode для Android-устройств. В этой статье мы обсудим подводные камни разработки приложений-киосков и способы решения возникающих проблем.

Режим киоска в Android

Чтобы превратить Android-устройство в киоск, для начала необходимо заблокировать все его кнопки и разъемы. В этом случае самым банальным и при этом самым эффективным решением будет поместить девайс антивандальный ящик, что, конечно, далеко не всегда возможно. Кроме того, остаются статус бар, системные диалоги и виртуальная клавиатура, с помощью которых можно выйти в настройки. Как же обойти эти трудности?

Android 5.0: долгожданный API

Начнем с хороших новостей: в Android 5.0 появился API под названием Screen pinning. Pin в переводе с английского означает закрепить или пригвоздить. Новый API “закрепляет” экран и запрещает пользователю покидать выбранное приложение. Этот функционал можно использовать как при создании киосков для обслуживающего персонала, так и в разработке учебных приложений для проведения экзаменов и оценки знаний.

При активации режима Screen pinning пользователь не прерывается системными диалогами и уведомлениями, не имеет доступа к другим приложениям, не может выйти в главный экран и не видит статус бар.

Активировать режим можно в настройках или программными средствами:

  • Разрешите Screen pinning в настройках, а затем выберите нужное приложение и закрепите его, подтвердив свой выбор.
  • Для программной активации достаточно вызвать метод startLockTask() и подтвердить включение режима блокировки.

Android до 5.0: как обойти систему?

В более ранних версиях Android SDK режим киоска, к сожалению, не предусмотрен. Нет и целостного API для организации полной блокировки. Поэтому все компоненты блокируются отдельно и по-разному в разных версиях.

Кастомизация прошивки может существенно упростить реализацию kiosk mode, но мы предлагаем несколько техник, которые помогут заблокировать нежелательные элементы в версиях Android ниже 5.0, не требуя ни особой прошивки, ни root-прав.

Перезагрузка

Первое, что приходит на ум пользователю при зависании или появлении других проблем - перезагрузить устройство. Наша задача - сделать так, чтобы после перезагрузки приложение-киоск стартовало автоматически.

Это несложно: описываем ресивер в манифесте, даем разрешение на получение сообщения о перезагрузке устройства и создаем подкласс broadcast ресивера, который будет запускать наше приложение.

AndroidManifest.xml:

BootReceiver.java:

Public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent myIntent = new Intent(context, MyKioskModeActivity.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(myIntent); } }

Кнопка BACK

Для кнопки Back просто переопределяем метод.

@Override public void onBackPressed() { // здесь ничего не делаем }

Кнопка HOME

Кнопку HOME невозможно перехватить, поэтому, чтобы предотвратить переход на главный экран при её нажатии, мы указываем приложение-киоск как Launcher. Добавляем в манифест три строчки:

AndroidManifest.xml:

Теперь при нажатии на кнопку HOME будет предлагаться выбор между двумя лаунчерами: нашим и системным. Выбираем наше приложение в качестве лаунчера по умолчанию - и готово!

Кнопка POWER

Кнопка POWER вызывает больше всего вопросов. Один из хаков, позволяющих обработать ее нажатие - задать окно приложения-киоска в качестве экрана блокировки. Однако этот способ гарантированно сработает только на версиях Android ниже 4.0.

@Override public void onAttachedToWindow() { getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); }

Системные диалоги

Длинное нажатие кнопки HOME или POWER вызывает системный диалог, с помощью которого можно выйти из приложения. Кроме того существуют еще окна обновления ОС и низкого заряда батареи, которые тоже опасны для киоска, поскольку могут иметь доступ к системным настройкам.

Чтобы полностью избавиться от системных диалогов мы прописываем следующее: при потере фокуса Activity посылает Broadcast - закрыть все системные диалоги.

@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if(!hasFocus) { Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); sendBroadcast(closeDialog); } }

Клавиатура

На виртуальной клавиатуре может оказаться кнопка настроек. Если клавиатура необходима, лучшим решением будет создание кастомного варианта или интеграция одной из существующих с ограниченным функционалом.

Панель статуса

Панель статуса дает широкий спектр возможностей для выхода из приложения, поэтому от нее необходимо избавиться.

Первое, что можно сделать, - задать приложению полноэкранный режим.
До версии 4.0 можно также указать тип окна TYPE_SYSTEM_ALERT - в этом случае приложение-киоск будет показываться поверх всех системных элементов.

Еще один способ - сворачивать статус бар, как только он готов развернуться. Для этого необходимо указать разрешение в манифесте.

@override public void onWindowFocusChanged(boolean hasFocus)
{ if(!hasFocus) { Object service = getSystemService("statusbar"); Class statusbarManager = Class.forName("android.app.StatusBarManager"); Method collapse =
statusbarManager.getMethod("collapse"); collapse .setAccessible(true); collapse .invoke(service); } }

Начиная с Android 4.1 для сокрытия панели статуса можно использовать SDK.

View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); ActionBar actionBar = getActionBar(); actionBar.hide();

Еще один популярный метод: создание прозрачного объекта View, который перехватывает все клики, на месте статус бара. Для реализации требуется флаг SYSTEM_ALERT_WINDOW.

Описанные методы - это далеко не полный перечень вариантов блокировки системных элементов в Android. Разработчики постоянно находят или изобретают что-то новое, делятся опытом, и создают приложения-киоски, обойти ограничения в которых не способен ни один, даже самый хитрый пользователь.