Ich verwende CyanogenOS 12 (abgeleitet von CM12), daher funktioniert die folgende Lösung möglicherweise nicht mit einem Standard-Lollipop, es ist jedoch eine sehr nützliche Lösung.
Den Kacheln, die Sie in den Schnelleinstellungen umschalten können, werden bestimmte Namen wie Bluetooth → bt
, Wi-Fi -> wifi
, Querformat / Hochformat → rotation
und viele andere zugewiesen. Diese Namen werden als Wert für den Schlüssel sysui_qs_tiles
in der Tabelle secure
von settings.db
(Einstellungen) gespeichert Lager).
Diese Kacheln können von der Einstellungs-Benutzeroberfläche entfernt / neu angeordnet werden. Die Befehlszeile kann jedoch auch zum Erreichen der Aufgabe verwendet werden.
Der relevante Befehl ist settings
und seine Verwendung wird erwähnt als:
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.
Sie müssen ADB auf Ihrem Computer einrichten, bevor Sie fortfahren können. Alternativ können Sie bei einem gerooteten Gerät eine Terminal-App wie Terminal Emulator für Android verwenden .
Hinweis: ADB im Wireless-Modus kann sich als gefährlich erweisen, wenn das Gerät die Authentifizierung eines Clients vor dem Zugriff nicht unterstützt. Fahren Sie auf eigenes Risiko fort!
Wir müssen zuerst den im Schlüssel gespeicherten Wert herausfinden sysui_qs_tiles
und dazu in ein Terminal den Befehl eingeben:
adb shell settings get secure sysui_qs_tiles
Für gerootete Geräte mit Terminal-App:
su
settings get secure sysui_qs_tiles
Die Ausgabe wäre wie folgt:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Wenn ich nun den Flugmodus aus den Schnelleinstellungen entfernen möchte oder die WLAN- Kachel nach dem Hotspot angezeigt werden soll, lauten die Befehle in der entsprechenden Reihenfolge:
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
Für gerootete Geräte mit Terminal-App:
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
Kommen wir nun zu der Anforderung zurück, nämlich " Schnelleinstellungen auf dem Sperrbildschirm verbergen ". Sie können ein Automatisierungstool wie Tasker verwenden , um die Kacheln aus den Schnelleinstellungen zu entfernen, wenn der Bildschirm gesperrt ist, und sie wieder hinzuzufügen, wenn der Bildschirm entsperrt ist.
Bevor wir mit der Verwendung von Tasker fortfahren , sollte erwähnt werden, dass der settings
Befehl nur mit ADB auf nicht gerooteten Geräten verwendet werden kann, da höhere Berechtigungen erforderlich sind, als dies einem normalen Benutzer gewährt wird. Daher müsste das Gerät für die Automatisierung in Tasker über Folgendes verfügen ADB läuft im WLAN-Modus. Siehe dazu:
Anleitung für Tasker
- Erstellen Sie eine Aufgabe mit dem Namen "Tiles s-unlocked".
Fügen Sie eine Aktion als Code → Shell ausführen hinzu und fügen Sie die folgenden Details hinzu:
Befehl :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
Für gerootete Geräte lauten die Details:
- Befehl :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Aktivieren Sie Use Root
Für Fälle, in denen es darauf ankommt:
- Verwenden Sie
<PORT>
als Portnummer, auf der ADB Wireless ausgeführt wird5555
- Anstelle der
wifi,bt,cell,rotation,flashlight,hotspot,location
Verwendung die Namen der Kacheln, die Sie in den Schnelleinstellungen verwenden möchten oder haben
Erstellen Sie eine weitere Aufgabe mit dem Namen "Kacheln gesperrt".
Hinweis : Wenn Sie die Einstellungen so konfiguriert haben, dass der Bildschirm nicht sofort nach dem Einschalten des Geräts, sondern nach XY Sekunden (wie 30
Sekunden) gesperrt wird, erstellen Sie eine Aktion als Aufgabe → Warten und legen Sie diese XY Sekunden fest . Alternativ sleep XY
kann im nächsten Schritt unter dem Befehl verwendet werden . Arielle schlug die Idee vor .
Fügen Sie eine weitere Aktion als Code → Shell ausführen hinzu und fügen Sie die folgenden Details hinzu:
Befehl :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
Für gerootete Geräte lauten die Details:
- Befehl :
settings put secure sysui_qs_tiles ' '
- Aktivieren Sie Use Root
- Erstellen Sie ein Profil mit dem Namen "S-entsperrt" unter Ereignis → Anzeigen → Entsperrt anzeigen , wählen Sie
Highest
Priorität und verknüpfen Sie die Aufgabe "Kacheln s-entsperrt".
- Erstellen Sie unter Ereignis → Anzeige → Anzeige aus ein weiteres Profil mit dem Namen "S-gesperrt" , wählen Sie
Highest
Priorität und verknüpfen Sie die Aufgabe "Kacheln S-gesperrt".
Lassen Sie den Tasker aktivieren und beobachten Sie die gewünschte Aktion, indem Sie den Bildschirm sperren / entsperren.
(Zum Vergrößern auf das Bild klicken)
Reihenfolge der Bilder wie "Keine Kacheln bei gesperrtem Bildschirm" → "Kacheln bei entsperrtem Bildschirm"
(Zum Vergrößern auf das Bild klicken)
Lassen Sie mich wissen, ob meine Lösung auf einem Gerät mit Stock Lollipop funktioniert.