Używam CyanogenOS 12 (pochodzący z CM12), więc poniższe rozwiązanie może nie działać na standardowym Lollipopie, ale niezależnie od tego, jest to bardzo przydatne rozwiązanie.
Płyty, które można przełączać w podręczniku Ustawienia są przypisane konkretne nazwiska jak Bluetooth → bt
Wi-Fi -> wifi
, Pejzaż / Portret → rotation
i wiele innych, a nazwy te są zapisywane jako wartość dla klucza sysui_qs_tiles
pod stołem secure
z settings.db
(Ustawienia Przechowywanie).
Podczas gdy te kafelki można usunąć / zmienić układ z interfejsu ustawień, można również rozważyć wiersz poleceń, aby zrealizować zadanie.
Odpowiednim poleceniem jest, settings
a jego użycie jest wymienione jako:
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.
Zanim przejdziesz dalej, będziesz potrzebować konfiguracji ADB w swoim urządzeniu. Alternatywnie, jeśli urządzenie jest zrootowane, możesz użyć aplikacji terminalowej, takiej jak Emulator terminala dla Androida .
Uwaga: ADB w trybie bezprzewodowym może okazać się niebezpieczny, jeśli urządzenie nie obsługuje uwierzytelniania klienta przed udzieleniem dostępu. Postępuj na własne ryzyko!
Najpierw musimy znaleźć wartość zapisaną w kluczu sysui_qs_tiles
i aby to zrobić, wpisz w terminalu polecenie:
adb shell settings get secure sysui_qs_tiles
W przypadku zrootowanych urządzeń korzystających z aplikacji terminalowej:
su
settings get secure sysui_qs_tiles
Dane wyjściowe byłyby następujące:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Teraz, jeśli chcę usunąć Tryb samolotowy z Szybkich ustawień lub chcę, aby kafelek Wi-Fi był wyświetlany po Hotspocie , wówczas polecenia w odpowiedniej kolejności wyglądałyby następująco:
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
W przypadku zrootowanych urządzeń korzystających z aplikacji terminalowej:
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
Teraz wracając do wymogu, czyli „ ukryj szybkie ustawienia na ekranie blokady ”. Możesz użyć narzędzia do automatyzacji , takiego jak Tasker, aby usunąć kafelki z Szybkich ustawień, gdy ekran jest zablokowany, i dodać je z powrotem, gdy ekran jest odblokowany.
Zanim przejdziemy do korzystania z Taskera , powinienem wspomnieć, że settings
komendy można używać tylko z ADB w urządzeniach niezrootowanych z powodu wyższych wymaganych uprawnień niż w przypadku zwykłego użytkownika, a zatem w celu automatyzacji w Taskerze urządzenie musiałoby mieć ADB działa w trybie bezprzewodowym. Aby to zrobić, zobacz:
Instrukcje dla Taskera
- Utwórz zadanie o nazwie „Płytki odblokowane”.
Dodaj akcję jako Kod → Uruchom Shell i dodaj te szczegóły:
Polecenie :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
W przypadku urządzeń zrootowanych szczegóły będą następujące:
- Polecenie :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Zaznacz Użyj roota
W przypadkach, w których ma to znaczenie:
- Użyj
<PORT>
jako numeru portu, na którym działa ADB Wireless5555
- Zamiast
wifi,bt,cell,rotation,flashlight,hotspot,location
używać nazw kafelków, które chcesz lub masz w Szybkich ustawieniach
Utwórz kolejne zadanie o nazwie „Płytki zablokowane”.
Uwaga : Jeśli skonfigurowałeś ustawienia tak, że ekran nie blokuje się zaraz po przejściu urządzenia w tryb uśpienia, ale po upływie XY sekund (np. 30
Sekund), utwórz akcję jako Zadanie → Zaczekaj i ustaw te sekundy XY . Alternatywnie sleep XY
można użyć w następnym kroku w ramach polecenia . Arielle zaproponowała ten pomysł .
Dodaj kolejną akcję jako Kod → Uruchom Shell i dodaj te szczegóły:
Polecenie :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
W przypadku urządzeń zrootowanych szczegóły będą następujące:
- Polecenie :
settings put secure sysui_qs_tiles ' '
- Zaznacz Użyj roota
- Utwórz profil o nazwie „S-odblokowany” w Zdarzeniu → Wyświetlacz → Wyświetl odblokowany , wybierz
Highest
Priorytet i połącz zadanie „Płytki odblokowane”.
- Utwórz kolejny profil o nazwie „S-zablokowany” w Zdarzeniu → Wyświetlanie → Wyświetl wyłączony , wybierz
Highest
Priorytet i połącz zadanie „Kafelki s-zablokowane”.
Mają Tasker włączona, a oto pożądanego działania przez blokowanie / odblokowywanie ekranu.
(Kliknij obraz, aby powiększyć)
Kolejność obrazów jako „Brak kafelków po zablokowaniu ekranu” → „Kafelki po odblokowaniu ekranu”
(Kliknij obraz, aby powiększyć)
Daj mi znać, jeśli moje rozwiązanie działa na urządzeniu z systemem Stock Lollipop.