Lollipop скрыть быстрые настройки на экране блокировки

16

Я уверен, что об этом спросили раньше. Но я еще не мог узнать.

Я недавно обновился до Lollipop в моем телефоне Sony Xperia Z. Панель уведомлений и выпадающие настройки отличные.

Но на экране блокировки я не хочу включать / выключать Wi-Fi, Bluetooth или какие-либо настройки. Простые настройки не должны быть разрешены на экране блокировки. Как я могу это сделать? Есть ли вариант?

У меня уже есть шаблон блокировки.

Шиджу К Бабу
источник
Я нашел это, но на Зефире это не сработало, а на Леденце. Требуется рут и Xposed.
Мэтью Читал
Пришло время для вас обновить до Android N :)
Томас Вос
В зефире есть простая настройка, чтобы не разрешать доступ к ящику уведомлений, когда устройство надежно заблокировано.
TheAshwaniK

Ответы:

14

Я использую CyanogenOS 12 (полученный из CM12), поэтому следующее решение может не работать на стандартном Lollipop, но, тем не менее, это очень полезное решение.


Плитки , которые можно переключать в быстрых настройках назначены конкретные имена , как Bluetooth → btWi-Fi -> wifiПейзаж / Портрет → rotation, и многие другие, и эти имена сохраняются в качестве значения ключа sysui_qs_tilesпод столом secureиз settings.db(Настроек Место хранения).

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

Соответствующая команда settingsи ее использование упоминается как:

usage:  settings [--user NUM] get namespace key
        settings [--user NUM] put namespace key value
        settings [--user NUM] delete namespace key

'namespace' is one of {system, secure, global}, case-insensitive
If '--user NUM' is not given, the operations are performed on the owner user.

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

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

Сначала мы должны выяснить значение, хранящееся в ключе sysui_qs_tiles, и для этого ввести в терминал команду:

adb shell settings get secure sysui_qs_tiles

Для корневых устройств, использующих приложение терминала:

su
settings get secure sysui_qs_tiles

Вывод будет выглядеть так:

wifi,bt,cell,rotation,flashlight,hotspot,location,airplane

Теперь, если я хочу удалить Режим полета из Быстрых настроек или хотите, чтобы плитка Wi-Fi отображалась после Горячей точки , то команды в соответствующем порядке будут такими:

adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
adb shell settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location

Для корневых устройств, использующих приложение терминала:

su
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location

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

Прежде чем мы перейдем к использованию Tasker , я должен упомянуть, что settingsкоманда может использоваться только с ADB в устройствах без прав доступа из-за того, что требуются более высокие привилегии, чем то, что предоставляется обычному пользователю, и, следовательно, для автоматизации в Tasker устройство должно иметь АБР работает в беспроводном режиме. Для этого смотрите:

Инструкция для Tasker

  1. Создайте задание с именем «Tiles s-unlocked».
  2. Добавьте действие как Код → Запустить Shell и добавьте следующие данные:

    Команда :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location

    Для корневых устройств детали будут такими:

    • Команда :settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
    • Проверьте использование Root

    Для случаев, когда это имеет значение:

    1. Используйте <PORT>в качестве номера порта, на котором работает ADB wireless, как5555
    2. Вместо wifi,bt,cell,rotation,flashlight,hotspot,locationиспользования названия плиток, которые вы хотите или есть в быстрых настройках
  3. Создайте еще одно задание с именем «Tiles s-locked».

  4. Примечание . Если вы настроили параметры таким образом, что экран блокируется не сразу после того, как устройство переходит в спящий режим, а через XY секунд (например, 30секунд), затем создайте действие как Задача → Ожидание и установите эти XY секунды . В качестве альтернативы sleep XYможно использовать на следующем этапе под командованием . Ариэль предложила идею .

  5. Добавьте другое действие как Код → Запустить Shell и добавьте следующие данные:

    Команда :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '

    Для корневых устройств детали будут такими:

    • Команда :settings put secure sysui_qs_tiles ' '
    • Проверьте использование Root
  6. Создайте профиль с именем «S-unlocked» в разделе « Событие» → «Показать» → «Показать разблокированный» , выберите « Highest Приоритет» и свяжите задачу «Tiles s-unlocked».
  7. Создайте другой профиль с именем «S-locked» в разделе « Событие» → «Отображение» → «Отключить» , выберите « Highest Приоритет» и свяжите задачу «Tiles s-locked».
  8. Включите Tasker и наблюдайте за желаемым действием, блокируя / разблокируя экран.

    (Нажмите на изображение, чтобы увеличить)

    Порядок изображений как «Нет плитки, когда экран заблокирован» → «Плитка, когда экран разблокирован»

(Нажмите на изображение, чтобы увеличить)

IMG: нет плитки, когда экран заблокирован IMG: плитки, когда экран разблокирован

Дайте мне знать, если мое решение работает на устройстве под управлением Stock Lollipop.

Повелитель огня
источник
Привет, мне не интересно рутировать мой мобильный. Я думал, что в мобильных настройках будет способ, который я не смог найти. Спасибо :)
Shiju K Баба
1
Для читателей: settings put secure qs_show_brightness_slider 0убрал бы ползунок яркости. Измените 0 на 1, и он вернется. К сожалению, мое устройство ведет себя странно, когда я запускаю эту команду с помощью Tasker. Эффект имеет место, если только я попробую это вручную через ADB или терминал, но не через Tasker! Если это работает для вас, дайте мне знать.
Повелитель огня
1
Большое спасибо за это, он отлично работает на CM12.1, но я хочу добавить небольшую вещь: я заметил, что если вы также хотите установить некоторые конкретные быстрые настройки на экране блокировки (например, только фонарик и внешний дисплей), они делают не работает, если команда выполняется, когда телефон заблокирован. Решение состоит в том, чтобы настроить ваш телефон таким образом, чтобы он не блокировал экран в течение 5 секунд после выключения дисплеев (таким образом, команда может быть выполнена до того, как она заблокируется, и все будет работать правильно).
user138784
@ user138784 Спасибо за ввод. Вы пробовали решение с ползунком яркости (второй комментарий)?
Повелитель огня
1
@Firelord, насколько я обнаружил, поддержка настраиваемых тайлов и привязка BT не могут быть переключены Tasker на моем устройстве (но я думаю, что это может быть сделано с помощью Pro-версии безопасных настроек). Я не нашел поддержки для установки доступных плиток.
user138784
1

Нет возможности отключить быстрые настройки на экране блокировки.

Тем не менее, это может быть возможно путем перепрошивки пользовательского ПЗУ на вашем телефоне. Я знаю, что вы можете переставить / удалить плитки в CyanogenMod.

Примечание: при перепрошивке пользовательского ПЗУ ваши данные будут стерты, а ваша гарантия аннулирована .

Изменить: На XDA-разработчиков я нашел это:

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

Источник: http://forum.xda-developers.com/showpost.php?p=60243490&postcount=13

Томас Вос
источник
Я не хочу это делать. Лучше я привыкну к этому
Шиджу К Бабу
Они должны были, вероятно, предоставить возможность для этого. Надеюсь, в следующей версии
Шиджу К Бабу
@ShijuKBabu Я отредактировал ответ. На складе ПЗУ вы сможете удалить режим полета и мобильные данные .
Томас Вос