- Как я писал кастомный локер
- Изучаем исходники
- Версия один
- Версия два
- Как создать андроид локер
- Вирусная библиотека
- Android.Locker.179 в вирусной библиотеке:
- Уязвимости для Android
- Выбираем экран блокировки для android-устройств: Locker Master, LokLok и Sparky Lock Screen
- Оглавление
- Вступление
- реклама
- Locker Master
- Знакомство
- реклама
- Начало работы
- реклама
- реклама
- Настройки
- реклама
- Тестирование
- реклама
- Выводы
Как я писал кастомный локер
Привет хабрастарожилам от хабрановичка. Ровно год назад я решил написать кастомный локер (экран блокировки) для моего старичка 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:
Дальше история становится менее интересной, так сказать, будничной. На мой локер можно добавлять ярлыки приложений (здесь все стандартно и просто) и виджеты (а вот этот момент достоин отдельной статьи).
Теперь все стало выглядеть современней:
Источник
Как создать андроид локер
Краткое описание:
Экран блокировки для устройств под управлением OS Android
CM Locker — это умный экран блокировки, который позволяет запускать Ваши любимые приложения прямо с экрана блокировки, не разблокируя устройство.
Основные характеристики:
— Умный список: CM Locker запоминает наиболее часто используемые Вами приложения и обеспечивает быстрый доступ и их непосредственный запуск. Вы также можете легко фотографировать, обрабатывать пропущенные звонки или читать сообщения из экрана блокировки.
— Просмотр уведомлений: Превью отправленных друзьями сообщений на экране блокировки (доступно в Android 4.3+).
— Погода в режиме реального времени: Отображение текущей информации о погоде и прогноз.
— Возможность скрыть ненужные приложения из списка.
— Установка обоев на Ваш выбор.
— Быстрый запуск камеры свайпом вверх.
Требуется Android: 4.0+
Русский интерфейс: Да (выбрать в настройках)
Скачать:
Версия: 1.7.4.192 CMLocker_v1.7.4.192.apk ( 3.83 МБ )
Версия: 1.7.4.192 Mod CM Locker (Пост vovanKARPO #35770896)
Внимание!
В Google Play есть похожее приложение от этого же разработчика CM Locker-Экран блокировки , но данное приложение имеет значительно отличающийся функционал и не имеет никакого отношения к этой теме!
Обсуждение этого приложения на форуме 4PDA : CM Locker (Secure & Boost)
Сообщение отредактировал vovanKARPO — 16.02.18, 01:22
Дата на англ.,а так все норм.
Сообщение отредактировал rafsad — 10.04.14, 14:18
Источник
Вирусная библиотека
Анализ используемых злоумышленниками технологий позволяет нам делать выводы о возможных векторах развития вирусной индустрии и еще эффективней противостоять будущим угрозам. Узнайте и вы о том, как действуют в зараженных системах те или иные вредоносные программы и как этому противостоять.
Android.Locker.179 в вирусной библиотеке:
Семейство Android-троянцев, предназначенных для вымогательства денежных средств у пользователей.
Различные модификации этих вредоносных программ могут демонстрировать навязчивое сообщение якобы о нарушении закона и последовавшей в связи с этим блокировкой мобильного устройства, для снятия которой пользователям предлагается заплатить определенную сумму. При попытке закрытия окна троянской программы или выхода в главное меню операционной системы данное сообщение появляется вновь, мешая нормальной работе зараженного смартфона или планшетного компьютера.
Более опасные версии троянцев Android.Locker выполняют поиск и шифрование имеющихся на SD-карте пользовательских файлов (например, изображений форматов .jpeg, .jpg, .png, .bmp, .gif, документов форматов .pdf, .doc, .docx, .txt, видео форматов avi, .mkv, .3gp), после чего блокируют дисплей сообщением с требованием выкупа за их расшифровку.
Если вы столкнулись с первым вариантом блокировки функционала мобильного устройства, рекомендуется перезагрузить операционную систему в безопасном режиме (см. инструкцию производителя) и произвести удаление троянской программы вручную, либо при помощи Антивируса Dr.Web для Android.
Уязвимости для Android
По статистике каждая пятая программа для ОС Android — с уязвимостью (или, иными словами, — с «дырой»), что позволяет злоумышленникам успешно внедрять мобильных троянцев на устройства и выполнять нужные им действия.
Источник
Выбираем экран блокировки для android-устройств: Locker Master, LokLok и Sparky Lock Screen
Оглавление
Вступление
реклама
Мы продолжаем выбирать лучший экран блокировки для устройств под управлением ОС Android. Напомним, что героями прошлой статьи стали такие популярные приложения, как ZUI Locker, CM Locker и Next Lock Screen. Среди них лучше всего проявил себя ZUI Locker, хотя и другие участники сумели отличиться.
В данном обзоре мы отойдем от классических решений и попробуем подобрать что-то более творческое и необычное. Но сумеют ли новые участники – Locker Master, LokLok и Sparky Lock Screen – составить конкуренцию проверенным временем приложениям? Помимо данного обзора рекомендуем вам ознакомиться с циклом статей по выбору лучшего лаунчера для Android.
В качестве тестового оборудования использовались следующие устройства:
- Смартфон Xiaomi Redmi Note 3 Pro (OC Android 7.1, Resurrection Remix 5.8.х, процессор Snapdragon 650 64 бит, 6 х 1800 МГц, видеосопроцессор Adreno 510, 2 Гбайта ОЗУ);
- Смартфон Jinga Basco M500 3G (OC Android 5.1, процессор MediaTek MT6580, 4 х 1300 МГц, видеосопроцессор Mali-400 MP2, 1 Гбайт ОЗУ).
Locker Master
Знакомство
Если отказаться от классических экранов блокировки, сразу обращаешь внимание на что-то яркое, креативное и необычное. Один из вариантов – абсолютно бесплатный Locker Master. Но действительно ли в данной программе все хорошо?
реклама
Начало работы
Несмотря на всю необычность данного приложения, разработчики даже не постарались сделать интересным первое включение. При запуске мы должны принять лицензионные права, а затем предоставить Locker Master доступ к системе и разнообразные разрешения.
После чего нас перенаправят на основной экран Locker Master, где дадут доступ к десяткам тысяч тем для экрана блокировки на любой вкус и цвет. Все они бесплатны и загружаются прямо из приложения, то есть без Google Play, каких-либо регистраций и прочих «костылей».
В приложении огромнейшее количество тем с минималистичным дизайном, где для разблокировки потребуется нажать на яркий элемент, соединить два элемента или что-то в этом роде.
Интересно выполнены темы с девушками в платьях или нижнем белье, где нам нужно будет для разблокировки экрана расстегнуть им застежку на одежде. Сразу предупреждаю, что все в рамках приличий, так что не обольщайтесь.
Впрочем, в данном приложении присутствуют не только такие темы – каждый пользователь сможет найти оформление себе по душе. В доказательство сказанному приведу пару скриншотов различных экранов блокировки.
Если же вы не такой, как все, и хотите себе эксклюзивную тему, почему бы и нет? Ее можно создать, причем довольно легко. Для этого выбираем фоновую картинку, редактируем ее, добавляем конструкцию для разблокировки, выбираем часы и дополнительные объекты, анимации, эффекты… и тема готова.
Отмечу огромный выбор конструкций для разблокировки экрана. Кроме обычного слайдера, здесь есть точки для одинарного нажатия, для двойного, для долгого нажатия и даже узоры для графического пароля.
реклама
Продемонстрирую один из примеров того, что можно на скорую руку создать в конструкторе тем Locker Master.
Кстати, все используемые нами темы будут храниться на смартфоне и отображаться в специальном разделе, чтобы мы могли вмиг переключаться между ними. Хорошо, что разработчики это предусмотрели, а то в некоторых приложениях одна тема заменяет другую, после чего найти предыдущую практически невозможно.
реклама
Настройки
Из настроек в Locker Master есть лишь несколько опций:
- Активация блокировки экрана;
- Уведомления приложений;
- Супер-зарядка;
- Звук при разблокировке;
- Вибрация при разблокировке;
- Экстренная разблокировка.
реклама
Все вышеуказанные опции просты и понятны, как ясный день. Однако стоит отметить функцию «Экстренная разблокировка». Благодаря ей мы сможем разблокировать смартфон, не зная его графический пароль. Для этого необходимо зажать клавишу громкости вверх, затем вниз и повторить все это.
С одной стороны, удобный шаг, но с другой стороны, зачем нам тогда экран блокировки с тайным паролем, если простой комбинацией клавиш его можно убрать? Поэтому советую отключить эту функцию сразу после установки приложения.
Тестирование
Locker Master нетребователен к ресурсам устройства и будет работать практически на любом гаджете, главное, чтобы операционная система была Android 4.0 или новее. В таком случае программа точно не откажет мобильному устройству.
Лично мне очень понравилось, как работает данный экран блокировки. За целую неделю тестирования с ним не возникло никаких проблем.
реклама
Версия приложения | 2.25 |
Размер дистрибутива | 5.61 Мбайт |
Размер приложения в установленном виде | 19.55 Мбайт |
Потребление ОЗУ | 70-150 Мбайт |
Несмотря на то, что с работой программы проблем нет, это не значит, что она проста. Locker Master заметно нагружает устройство, добавляя два процесса в фон, и потребляет 70-150 Мбайт ОЗУ; во время создания тем этот показатель достигает 300 Мбайт.
Выводы
Бесплатный экран блокировки Locker Master оставил у меня самые приятные мысли после использования, я даже подумывал заменить им свой стандартный экран. Ведь данная программа позволяет выбрать тему для экрана блокировки, а если вас ничего не устроит, вы сможете создать тему для себя.
Помимо огромного количества необычных тем, данный экран блокировки порадует вас продвинутыми версиями графических паролей, сайдбаром, стабильной работой и отсутствием платных версий, функций и рекламы.
Источник