- Локер — защита приложений андроид
- Как я писал кастомный локер
- Изучаем исходники
- Версия один
- Версия два
- Как поставить пароль на приложение на Андроид — программы AppLock и CM Locker
- Установка пароля на приложение на Android с помощью программы AppLock
- Как поставить пароль на приложение на Андроид с помощью программы CM Locker
Локер — защита приложений андроид
Сотовый телефон, а, точнее, смартфон, давно перестал быть просто средством связи. Сегодня это целый мультимедийный центр и хранилище важных данных владельца. Для последнего используются все возможные программы — это и органайзеры, мобильные банки, хранители паролей, и вся эта важная информация хранится на девайсе, предназначенном, собственно, для звонков, что уж говорить про планшеты.
В действительности, все что нужно, чтобы уберечь от посторонних личную информацию на андроид — всего лишь установить защитное приложение. На андроид существует целый ряд программ, называемых локерами на андроид, их цель защитить приложения андроид от несанкционированного запуска и просмотра.
После установки такого приложения ваши данные на андроид находятся под надежной защитой, ведь чтобы запустить любое приложение необходимо ввести пароль, причем на каждую программу можно установить свой уникальный код!
Самое главное, что вы в настройках программы самостоятельно выбираете какие из ваших андроид приложений нужно защитить, а к каким оставить свободный доступ.
Бывало у вас такое что, дав ребенку поиграть смартфон, вы впоследствии обнаруживали, что в половине программ ребенок, из интереса, «натыкал» такого, что для возобновления полноценного функционирования девайсов вам придется потратить несколько часов?
При установке локера на андроид с такой проблемой вы больше не столкнетесь! Просто перед тем как дать ребенку поиграть, запарольте все приложения, кроме игр. Кстати, многие андроид локеры предлагают поставить код на запуск не только на приложения, но и, например, на чтение смсок или совершение звонков! Что уж говорить об интернет-браузерах.
Кстати, еще одна функция локеров для андроид — это защита android системы от случайного запуска программ. Бывает так, не заблокировал девайс, положил в карман и без вашего ведома совершается куча звонков, запускаются фильмы и музыка и все это вследствие случайных касаний.
С локером это проблема так же неактуальна для андроид, ведь для того, чтобы запустить какое-либо приложение или совершить действие нужно не только, дотронувшись до иконки запустить программу, но и ввести код, а сделать это случайно просто невозможно!
Источник
Как я писал кастомный локер
Привет хабрастарожилам от хабрановичка. Ровно год назад я решил написать кастомный локер (экран блокировки) для моего старичка Samsung Galaxy Gio в стиле популярного тогда Samsung Galaxy s3. Какие причины заставили меня это сделать, писать не буду, но добавлю лишь то, что в Google Play я программу не собирался выкладывать и каким-либо другим способом заработать на ней не планировал. Данный пост посвящен последствиям моего решения.
Начну издалека. Многие хвалят Android за открытость и возможность заменить и настроить встроенные программы под свои нужды. Что тут сказать? В сравнении с другими популярными ОС, это, безусловно, так, но если копнуть глубже в архитектуру Android возникают трудности и вопросы. Локскрин (в Android это называется keyguard) как раз и вызывает вопросы: почему Google не поступили с ним, так как с лаунчерами, почему не сделали диалог со всеми доступными на устройстве локерами и с возможностью выбрать нужный по умолчанию? Где-то в глубине мозга тихим нерешительным голосом кто-то отвечает: может быть Google (Android Ink. если быть точнее) поступил так из соображений безопасности. Этот голос вероятно прав и многим разработчикам локеров и мне (скромность не позволила приписать себя к их числу) пришлось изобретать велосипед, и не один.
Изучаем исходники
Начал я с использования одного из плюсов Android – из изучения исходников. Я один из тех консерваторов, которые уже 2,5 года сидят на стоковой прошивке (2.3.6), поэтому и исходники изучал соответствующие. Классы, отвечающие за блокировку экрана, лежат в android.policy.jar, что в system/framework. Первоначальной целью было найти «точку входа», т.е. где и когда вызывается локер. Искал здесь.
В классе PhoneWindowManager.java есть метод screenTurnedOff(int why), который вызывает одноименный метод класса KeyguardViewMediator. Проследив, кто кого вызывает, я нашел метод в классе KeyguardViewManager, создающий непосредственно View стокового локера.
Что ж, все гениальное – просто. Решил повторить этот код для своего приложения и получил ошибку – нет нужного permission. Немного погуглив, добавил следующие разрешения: SYSTEM_ALERT_WINDOW и INTERNAL_SYSTEM_WINDOW. Это не помогло.
Вернулся к изучению класса PhoneWindowManager.java:
Для требуемого окна TYPE_KEYGUARD нужно второе из моих добавленных разрешений. Задней точкой тела начал ощущать, что не все так просто, как я себе представлял. Решено было посмотреть на описание этого permission. Вот выдержка из AndroidManifest.xml пакета framework-res.apk.
Вот она – черная полоса в жизни. Ведь я понимал, «signature» – это значит, что использовать этот пермишн может только пакет, подписанный тем же ключом, что и пакет, выдавший это разрешение (в нашем случае — framework-res.apk). Ладно, достаем инструменты для изготовления велосипедов.
Версия один
Первым решением было использовать activity в качестве локскрина. На stackoverflow советуют использовать следующий код:
Признаюсь, в первых версиях я использовал этот метод. У него есть существенные недостатки: статусбар не блокируется, начиная с версии API11 этот метод не работает.
Решение первого недостатка (переполнениестека опять помогло) следующее. Поверх статусбара с помощью WindowManager рисуется прозрачный View, который перехватывает все TouchEvent. Вот служба, реализующая это:
Второго недостатка для меня не существовало, на Gingerbread данный код работал превосходно. На 4pda, куда я опрометчиво выложил свое творение, пользователи жаловались, что на многих телефонах мой локер сворачивался как обычное приложение. Для них найдено такое решение. В качестве стандартного лаунчера устанавливается пустышка. При нажатии кнопки HOME система вызывает мой лаунчер-пустышку. Если кастомный локер активен, лаунчер сразу же закрывается в методе onCreate(), т.е. визуально нажатие кнопки HOME ни к чему не приводит. Если кастомный локер не активен, мой лаунчер тут же вызывает другой правильный лаунчер, который пользователь указал в настройках.
Вот код пустышки:
Выглядело это следующим образом:
Эти велосипеды ездили долго и хорошо, пока я не решил сделать «правильный» локскрин, и уже в стиле Samsung Galaxy S4.
Версия два
Когда системе необходимо запускать кастомный локер? Очевидно, что при выключении экрана. Создадим службу, регистрирующую BroadcastReceiver, т.к. из манифеста данный фильтр не работает.
Необходимо учесть две особенности:
1. Служба должна быть запущена в момент загрузки устройства. Создадим BroadcastReseiver с IntentFilter «android.intent.action.BOOT_COMPLETED». Есть одно НО: служба при запуске должна отключить стандартную блокировку экрана. Особенностью Android является то, что стандартное окно ввода PIN-кода является частью стокового экрана блокировки. Поэтому служба должна запускаться только когда PIN буден введен.
Максимум, на что хватило моей фантазии:
2. Проанализировав PhoneWindowManager видно, что в метод screenTurnedOff(int why) передается переменная why, принимающая 3 значения:
— экран выключился по истечению таймаута (в этом случае стоковый локер запускается с задержкой),
— экран выключился при срабатывании сенсора приближения (во время телефонного разговора),
— экран выключился при нажатии кнопки.
В моем случае такого разнообразия нет. Поэтому служба мониторит состояние телефона, и при входящем звонке или во время разговора экран не блокируется.
Вот основной код службы:
Идея не использовать activity, а использовать WindowManager была еще сильна. Из пяти типов окон, использующих разрешение SYSTEM_ALERT_WINDOW, мне подошел TYPE_SYSTEM_ALERT. Причем у него были очевидные достоинства: блокировался статусбар (по крайней мере, на Gingerbread) и перехватывалось нажатие кнопки HOME (работает даже на Jelly Bean).
Промежуточным звеном между службой и KeyguardView является класс KeyguardMediator:
Дальше история становится менее интересной, так сказать, будничной. На мой локер можно добавлять ярлыки приложений (здесь все стандартно и просто) и виджеты (а вот этот момент достоин отдельной статьи).
Теперь все стало выглядеть современней:
Источник
Как поставить пароль на приложение на Андроид — программы AppLock и CM Locker
Е сли вы часто и много пользуетесь такими популярными приложениями, как VK, Viber , WhatsApp, Instagram и другими на мобильном, возможно, вам уже приходила в голову мысль о том, что неплохо было бы защитить их паролем, дабы посторонний человек, взяв в руки ваш телефон, не смог получить доступ к персональной информации. Хотя Андроид и позволяет установить ограничительные меры на кастомизацию параметров и инсталляцию программных модулей, интегрированные средства для защиты паролем отдельных программ тут попросту отсутствуют. Следовательно, для обеспечения защиты запуска дискретных приложений, а также получения оповещений от них на верхней панели, воспользуемся сторонними утилитами, о которых и пойдет речь далее. Итак, в новом материале я расскажу о том, как поставить пароль на приложение на Андроид, и с помощью каких программ это можно сделать.
Установка пароля на приложение на Android с помощью программы AppLock
AppLock – официальная страница в Google Play
Насколько я могу судить, AppLock является лучшей из доступных бесплатных программ в своем классе. Как вы уже наверняка догадались, она позволяет обезопасить запуск программ на телефоне при помощи пароля. Важное замечание: в силу каких-то причин, о которых я могу лишь догадываться, в Google Play название программы постоянно меняется: то это AppLock Fingerprint, то Smart Applock, а сейчас просто AppLock. Вероятная причина такого странного поведения утилиты – это наличие в магазине одноименных программ, но совершенно других и от иных производителей.
Главные достоинства AppLock – это объемный в плане функционала пакет с русскоязычной локализацией и отсутствием массивного количества разрешений (в частности, нужно задавать только те разрешения, которые абсолютно необходимы для применения требуемых задач AppLock).
Разобраться с программой может даже тот, кто не имеет больших навыков работы с Андроид-гаджетом. Как она работает, т.е. как поставить пароль на приложение на Андроид?
1. Когда AppLock запускается в первый раз, на экране появится форма с выбором программ, доступ к которым вы желаете обезопасить при помощи пароля. Здесь и социальные сети, и мессенджеры, и фото-сервисы. Можете оставить выбранным хотя бы один, любой из них, а остальные добавить позже в любой момент.
2. Следующий пункт предварительной настройки – это указание графического ключа, используемого для получения доступа к параметрам, кастомизируемым в программе (к блокировкам и прочим фишкам).
Введите ключ дважды и запомните его последовательность, поскольку каждый раз, когда вы захотите внести изменения в конфигурацию приложению, вам потребуется ввести этот самый ключ.
3. На последней итерации программа предлагает включить разрешения для приложений с доступом к истории (под историей имеются в виду данные, какими именно программами вы пользуетесь, как часто, а также информация о мобильном операторе и пр.) Выбираем те программы, доступ к истории которых хотели бы заполучить, и приступаем, наконец, к работе с самим AppLocker’ом.
Итак, открывается главная форма меню настроек AppLocker’а. Самый основной пункт здесь – это блокировка приложения. Именно здесь, нажав на «плюсик», вы можете указать перечень программ, которые защищены графическим ключом. По умолчанию, здесь указано только то приложение, которое мы указали при инсталляции.
И все же, как поставить пароль на приложение Андроид? Нажимаем на кнопку «плюс» и настраиваем этот перечень более детально.
На первой вкладке «Рекомендованные» находятся лишь социальные сети и мессенджеры, установленные на вашем телефоне. Именно к ним рядовой пользователь обращается чаще всего. Чуть ниже, в разделе «Фото и видео» находятся видео-платформы и облачные сервисы. Последняя категория «Инструменты» объединяет в себе те утилиты, которые не принадлежат ни к одному из двух приведенных ранее списков. Нажимаем на кнопку с замочком рядом с теми программами, которые желаете обезопасить от постороннего доступа.
Триггер, находящийся рядом с заголовком раздела, дает возможность установить защиту для всех программ из целой категории сразу, но этот инструмент не дает нам достаточной гибкости, поэтому его мы обойдем стороной.
Однако, AppLocker способен на большее, а именно обеспечить защиту для абсолютно любого программного модуля, установленного в недрах вашей ОСи. Сделать это можно на вкладке «A
Z». Здесь в алфавитном порядке указаны все без исключения программные продукты, используемые Андроидом. Делаем нужный выбор, снова используя кнопку с замочком.
Последняя вкладка под названием «Заблокировано» предоставляет аккумулятивные данные обо всех приложениях, защищенных в AppLocker’е, — к ее услугам стоит прибегать в последнюю очередь, когда вы уже полностью сделали свой выбор, и хотите убедиться. ничего ли не упустили.
С этого момента при попытке доступа к любому из приложений, указанных в AppLocker’е, будет появляться вот такая форма с предложением ввести графический ключ.
Несколько слов о дополнительных возможностях, доступных в приложении:
• защита при зарядке. Данная опция отображает детализированные данные в режиме реального времени при зарядке устройства от компьютера либо от сети.
• личный альбом. Разместив сюда фотоснимки и видеоролики, на телефоне их не увидит никто, кроме вас. Очень надежная опция для хранения паролей от аккаунтов социалок и фотосервисов.
• средство записи вызовов. Автоматическая запись ваших разговоров во внешние mp3-файлы. Обычно для этого предназначены сторонние программные продукты, но, как видите, и здесь такая опция имеется.
• конфиденциальные заметки. Защищенный блокнот, куда можно заносить важные дела, список покупок, вести дневник, записывать идеи или факты, — словом, использовать ровным счетом, как обычный блокнот, с той лишь разницей, что кроме вас ваши собственные заметки никто прочитать не сможет.
Как видите, функционал AppLocker довольно широк и обилен, и пригодится вам не только для обеспечения защиты приложений на вашем смартфоне, хотя со своей основной функцией утилита справляется буквально «на ура» и не оставляет о себе никаких нареканий.
Как поставить пароль на приложение на Андроид с помощью программы CM Locker
CM Locker – официальная страница в Google Play
Еще одно приложение. позволяющее реализовать аналогичные задачи – это CM Locker. Главное его достоинство – это возможность использования для защиты цифрового пароля, а не графического ключа, как в AppLock. Тем не менее, не лишен этот продукт и некоторых весомых недостатков, о которых я расскажу далее.
При первом запуске CM Locker предлагает защитить ваш телефон от так называемых «угроз», которые в действительности не представляют никакой опасности и служат лишь для пускания пыли в глаза. Под угрозами подразумевается отсутствие защиты паролем мессенджеров и фотографий, в результате чего они могут быть просмотрены сторонними лицами. Но эту настройку вы могли бы сделать и сами, как только вошли в приложение и попытались использовать его по назначению. Следующий тип «угроз» – это фоновые приложения, осевшие в оперативной памяти устройства и никак себя не проявляющие. Такая защита и вовсе выглядит излишней и совершенно абсурдной. К последней категории относится те программы, уведомления к которым вы не получаете. Если вы сами приняли решение настроить соответствующие программы таким образом, чтобы уведомления от них не приходили, то после такой «защиты» все ваши настройки собьются и вам придется смириться с этим либо искать альтернативу такому блокировщику. В завершение всего, программа предлагает исправить все эти нюансы одним махом – а именно, нажатием кнопки «Защитить». Как только вы ее нажмете, все параметры будут выставлены, как это заблагорассудится движку модуля, а вы останетесь без своих настроек. Ну ладно, предположим, с этим все в порядке. Нажимаем кнопку «Защитить» и приступаем к работе с утилитой.
На следующей итерации получаем еще больше уведомлений. То, что программа пропустила в прошлый раз, теперь можно сконфигурировать вручную. Делаем нужный нам выбор, либо не делаем его вовсе и следуем дальше.
На следующей форме вам будет предложено выполнить активацию CM Locker. Согласимся с этим, активируем программу и попадаем, наконец, в главное меню.
Нажимаем на кнопку вызова главного меню в виде трех горизонтальных полос и выбираем опцию «Блокировка экрана и приложений».
Здесь первым делом установим пароль для доступа к блокируемым объектам. Для этого тапнем на поле «Задайте пароль».
На следующей форме выбираем разновидность ключа. Как видно, всего на выбор нам предлагается до 7 вариантов защиты, большую часть из которых составляют разновидности графического ключа и цифрового пароля. Выберем один из типов и укажем сам ключ.
Наконец, пришло время выбрать те программы, доступ к которым вы хотели бы обезопасить при помощи новосозданного ключа. Нажимаем на пиктограмму с замочком рядом с названием соответствующего программного продукта из списка.
Если позднее вы захотите привнести в эти настройки какие-либо изменения, зайдите в пункт меню «Выберите предметы для блокировки» и отметьте соответствующие опции, чтобы установить пароль на приложение Андроид.
Какие еще функциональные возможности припасли для нас разработчики CM Locker?
• прежде всего, фича под названием «Фото злоумышленника». Работает она следующим образом: после трех неправильных попыток ввода пароля утилита отправляет вам на электронную почту фото, снятое с фронтальной камеры смартфона. Согласитесь, весьма удобно, только что потом с этим фото делать – вот вопрос (разве что обратиться в соответствующие органы ).
• защита от кражи. Подключившись к Facebook-аккаунту, вы сможете управлять удаленной блокировкой гаджета, подавать звуковой сигнал, предупреждающий похитителя об опасности, а также контролировать защиту в реальном времени, среди прочего, позволяющей по GPS определить местонахождение пропавшего аппарата.
• еще одна дополнительная опция – конфигурирование уведомлений. Здесь присутствует масса параметров, недоступных при дефолтной настройке уведомлений в Андроиде. Нельзя не отметить гибкость многих из них, что весьма на руку самым требовательным пользователям, пытающихся выжать максимум из своего девайса.
В целом, работа с программным модулем CM Locker не вызывает никаких нареканий и предоставляет развернутый ответ на вопрос «Как поставить пароль на приложение на Андроид». Все, что вам остается сделать, — это выбрать наиболее оптимальную для себя программу из двух предложенных. По удобству AppLock обходит своего конкурента, но благодаря тому, что в последней из программ можно устанавливать цифровые пароли, многие найдут ее для себя безальтернативной.
Источник