Как включить функцию интеллектуальной блокировки на основе местоположения на устройствах Huawei/Honor под управлением EMUI

Учебное пособие о том, как воспроизвести функции Google Smart Lock с учетом местоположения на устройствах Huawei или Honor под управлением EMUI.

Если у вас никогда не было устройства Huawei или Honor, то вы, вероятно, смотрите на название и думаете: «А?» В конце концов, Smart Lock — это функция, представленная еще в Андроид 5.0 леденец чтобы облегчить быстрый доступ к вашему устройству при определенных условиях например местоположение, при подключении к определенным устройствам, в кармане или при распознавании вашего голоса.

Обычно такую ​​функцию вряд ли стоит обсуждать, учитывая, что с момента выпуска Lollipop прошло более двух лет, и тот факт, что примерно 65% всех устройств Android работают на Android 5.0+. Мы подозреваем, что доля пользователей на наших форумах, использующих хотя бы Lollipop, намного выше, хотя у нас нет точной статистики по этому поводу. В любом случае функция Google Smart Lock стала настолько распространенной среди устройств Android, что сторонние приложения, предлагающие эту функцию,

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

Но есть одна группа пользователей, у которых остается кастрированная версия Smart Lock: пользователи с Устройство Huawei или Honor работает EMUI. По какой-то причине EMUI не предоставляет те же функции Smart Lock, которые предлагает большинство других устройств Android 5.0+. Вместо этого EMUI позволяет автоматически разблокировать ваше устройство только при подключении к определенным устройствам Bluetooth.

Конечно, это полезно, если у вас есть носимое устройство Bluetooth, такое как умные часы или фитнес-браслет, но не у всех есть носимое устройство, всегда подключенное к смартфону. Исключение Huawei функции Google Smart Lock явно намеренно, поскольку даже если вы включите Smart Lock в качестве «доверенного агента» в Android, вы не сможете фактически использовать эту функцию.

По сути, вы застряли в функции «Smart» Lock от Huawei, которая предлагает меньше функций, чем Smart Lock от Google. Ваш единственный вариант как владельца устройства Huawei/Honor — попробовать один из множества вариантов в Play Store. которые утверждают, что добавляют эту функцию (ни одна из которых никогда не работала на моем устройстве) или рутируют ваш телефон и скачать модуль Xposed. Отсутствие достойных опций для EMUI, конечно же, побудило меня написать это руководство. С помощью магии Tasker и плагина AutoTools мы можем автоматически разблокировать любое устройство Huawei или Honor в зависимости от местоположения без необходимости root.


Умный замок для устройств Huawei/Honor

Для запуска и работы этой функции необходимо всего два приложения. Первое - это Таскер, невероятно популярный инструмент автоматизации Android, который мы в XDA часто используем для решения самых разных проблем, от самых обыденных до невероятно сложных. Может показаться, что покупка этого приложения за 2,99 доллара ненужна из-за такой простой вещи, но ценность, которую может предоставить это приложение, огромна, если вы готовы пройти несколько уроков. Далее вам понадобится бета-версия плагина Tasker, известного как АвтоИнструменты. Этот плагин добавляет массу полезных функций к собственному набору инструментов Tasker, и, в частности, для достижения нашей цели нам понадобится функция AutoTools, известная как Secure Settings.

Мы будем изменять свойство на нашем устройстве, которое управляет таймером, который Android использует, чтобы определить, когда показывать экран блокировки после истечения времени ожидания телефона. Под «тайм-аутом» здесь понимается либо выключение экрана вашего телефона после X минут бездействия, либо когда пользователь вручную выключает дисплей, нажав кнопку питания. Через заданное время (от момента, когда устройство переходит в спящий режим, до 30 минут после перехода в спящий режим) Android отобразит экран блокировки.

Проблема с этими двумя функциями заключается в том, что по умолчанию увеличение таймера «автоматической блокировки» потенциально может стать проблемой безопасности, потому что если если ваше устройство просканировано в течение периода времени, когда экран блокировки еще не активирован, вор получит доступ ко всему содержимому вашего устройства. устройство. Чтобы смягчить эту проблему, Android предлагает опцию «кнопка питания мгновенно блокирует устройство», чтобы вы могли немедленно активировать экран блокировки, нажав кнопку питания. Однако, особенно если вы установили короткий тайм-аут экрана, об этом легко забыть, так что вы все равно можете использовать свое устройство к ним могут получить доступ злонамеренные третьи лица, если вы случайно отключили устройство на столе или в кармане, не нажав кнопку питания вручную. кнопка.

Следовательно, наше решение этой проблемы — привязать более длинный таймер «автоматической блокировки» не к кнопке питания, которая требует ручного вмешательства, а к местоположению/Wi-Fi. Сюда, вы можете наслаждаться использованием своего устройства без экрана блокировки, не выходя из собственного дома, но будьте уверены, что PIN-код/пароль экрана блокировки всегда будут видны, даже если вы находитесь вдали от дома. дом. Теперь, когда мы объяснили, что делаем, вот как это на самом деле делается.


Руководство

Как упоминалось ранее, мы собираемся изменить определенное свойство системы. Это свойство определено в соответствии с Настройки. Безопасный класс с именем lock_screen_lock_after_timeoutи принимает целочисленные значения в миллисекундах. Чтобы изменить это значение, нам нужно будет предоставить AutoTools определенное разрешение, чтобы он мог записывать эти настройки без необходимости root-доступа.

В системе управления разрешениями Android приложения определяют разрешения, которые они хотят предоставить, в файле манифеста. Затем пользователи могут предоставлять или отклонять разрешения при установке (до Marshmallow) или по требованию (Marshmallow+). Однако существуют определенные разрешения, которые приложениям не могут быть предоставлены, даже если они запрашивают это в манифесте, например: WRITE_SECURE_SETTINGS. Это связано с тем, что предоставление любому приложению такого мощного разрешения даст этому приложению массу контроля над вашим устройством.

Но есть один обходной путь, который мы можем использовать, чтобы предоставить разрешение WRITE_SECURE_SETTINGS любому приложению, которое нам нужно. Используя АБР менеджер пакетов (pm) инструмент, мы можем предоставить практически любое разрешение любому приложению, которое захотим (при условии, что приложение запрашивает это разрешение в файле манифеста).

Первое, что вам нужно сделать, это установить двоичный файл ADB на свой компьютер, а затем правильный драйвер для вашего устройства. Затем включите отладку по USB в параметрах разработчика (перейдите в «Настройки» -> «О телефоне» и нажмите «Номер сборки» 7 раз, если вы еще этого не сделали) и подключите телефон к компьютеру. Наконец, отправьте следующую команду, как только вы откроете терминал:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

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

Шаг 2 — Настройка Таскера

Откройте Tasker и нажмите кнопку + значок в правом нижнем углу, чтобы создать новый профиль. Назовите свой новый профиль что-нибудь вроде «Автоматическая блокировка» или как хотите. В качестве типа контекста, который мы будем использовать, выберите Состояние. Идти к Сеть --> Wi-Fi подключен. Здесь мы выберем сети Wi-Fi, которые мы хотим внести в белый список для автоматической разблокировки устройства. Ударь увеличительное стекло и выберите все сети Wi-Fi, которые хотите внести в белый список.

Необязательный: Если вы хотите создать интеллектуальную блокировку на основе местоположения (а не только на основе сетей Wi-Fi), тогда вы можете использовать контекст «Местоположение» в Tasker вместо «Состояние» -> «Сеть» -> «Подключение к Wi-Fi». особенность. Обратите внимание, что Tasker не создает геозоны, поэтому при использовании этого метода расход заряда батареи будет хуже. Если вы хотите, чтобы Tasker реагировал на более экономичные геозоны, вам необходимо установить Автолокация плагин.

Выйдите из игры, и вам будет предложено создать задачу. Введите любое имя (или ни одно из них не подойдет), чтобы перейти к экрану создания задачи. нажмите + значок в нижней части посередине, чтобы добавить новое действие. Идти к Плагин -> AutoTools -> Настройки безопасности. Ударь карандаш Значок, чтобы открыть экран конфигурации настроек безопасности AutoTools. Идти к Экран блокировки --> Автоматическая блокировка и в качестве значения введите любое достаточно большое значение, например '9001'. Это значение в секундах, на которое AutoTools установит таймер автоматической блокировки экрана. К счастью для нас, нам не нужно возиться с ручной установкой команды для изменения lock_screen_lock_after_timeout, так как разработчик AutoTools реализовал эту функцию за нас в хорошем графическом интерфейсе.

Сохраните этот параметр, нажав значок галочки вверху, затем снова нажав клавишу «Назад» в Tasker и, наконец, выйдя из экрана создания задачи. Как только вы это сделаете, Tasker будет автоматически удерживать ваше устройство разблокированным в течение очень длительного времени, пока вы находитесь дома. Убедись в том, что "кнопка питания мгновенно блокирует устройство" является неполноценный в настройках безопасной блокировки, иначе, когда вы нажмете кнопку питания, находясь дома, активируется экран блокировки вашего телефона, а это не то, что вам нужно!

Наконец, нам нужно будет добавить еще одну задачу, которая срабатывает, когда мы покидаем любую из сетей Wi-Fi, занесенных в белый список. На главной странице Tasker длительное нажатие на Задача вы только что создали и нажмите добавить выходную задачу во всплывающем меню. Назовите эту задачу как угодно и снова войдите на экран создания задачи. Здесь нажмите на + значок и снова перейдите в Плагин -> AutoTools -> Настройки безопасности.. В той же опции автоматической блокировки на этот раз введите значение 0. Как только вы покинете сеть Wi-Fi, Tasker больше не будет задерживать появление экрана блокировки после истечения времени ожидания телефона.

Необязательный: Добавьте второе действие, нажав кнопку + значок, но на этот раз перейдите к Дисплей --> Блокировка системы. Это действие автоматически заблокирует ваш телефон, когда вы выйдете из зоны действия сетей Wi-Fi, занесенных в белый список. на случай, если у вас очень длительный тайм-аут дисплея и ваш телефон никогда не переходит в спящий режим, когда вы выходите из дома. Если вы это сделаете, вам придется сделать Tasker администратором устройства, перейдя в «Настройки». Просто найдите этот параметр и предоставьте Tasker разрешение.

Вот и все! Хотя это руководство кажется длинным, на самом деле сам сценарий Tasker очень прост. Для включения этой функции необходимо в общей сложности до 3 действий. Попробуйте и дайте нам знать, как это работает для вас!