mehr Datenschutz und bessere Akku-Laufzeit

Android: Sensoren bei Bedarf deaktivieren / aktivieren (mit Tasker)

Unter Android kann man alle Sensoren komplett ausschalten. Aber manche Apps benötigen einige davon. Hier kommt Tasker ins Spiel: Nur bei Bedarf werden damit automatisch die Sensoren aktiviert und danach wieder still gelegt.

Seit Android 10 kann man ja alle Sensoren des Gerätes komplett deaktivieren. Dies ist über die „Entwickler-Einstellungen“ des Betriebssystems möglich – wie hier demonstriert wird.

So ein Smartphone besitzt eine ganze Menge solcher integrierter Sensoren: Das Mikrofon zählt auch dazu, ebenso die Kamera. Hinzu kommen Lagesensor, Schrittzähler, Näherungssensor, Bewegungssensor, Kompass, usw. Bei einigen Geräten gibt es sogar ein Thermometer oder ein Barometer.

Smartphone liegt auf hellem Hintergrund, visualisierte Datenströme gehen davon ab
So ein Smartphone ist eine Taschenwanze. Durch das möglichst lange deaktiviert Lassen der Sensoren erhoffe ich mir etwas mehr Datenschutz und zudem einen geringeren Stromverbrauch.

In dieser Anleitung demonstriere ich, wie man diese Sensoren (auf einmal) automatisch deaktiviert – und danach (nur bei Bedarf) automatisch kurz aktiviert. Hierzu nutze ich eine meiner Lieblings-Apps – Tasker:

Hinweis: Das (De-) Aktivieren der Sensoren ist via Tasker (oder einer anderen Automatisierungs-App wie z. B. ›MacroDroid‹ leider nur mit Root-Zugriff möglich. Kein Android-Smartphone ist ab Werk gerootet. Die Prozedur hierfür ist kompliziert und nichts für den Laien (mit wenig Zeit für solche Dinge).

➜ Ein kurzer Hinweis am Anfang: Zwar ist das Mikrofon des Smartphones bei deaktivieren Sensoren ebenfalls unbrauchbar. Das Telefonieren sollte bei den meisten Handys jedoch weiterhin funktionieren. Dies liegt offenbar daran, dass die Telefon-App bzw. die Telefonfunktionalität hierzu einen anderen, geschützten, Kanal verwendet – im Gegensatz zu allen anderen Apps. Auch der Fingerabdruck-Sensor funktioniert bei mir bei gesperrten (anderen) Sensoren.

➜ Es ist mir übrigens nicht bekannt, ob man einzelne Sensoren gezielt ausschalten bzw. anschalten kann. Ich schalte daher alle Sensoren auf einmal an bzw. aus.

Zwei Tasker-Befehle für das Aktivieren und Deaktivieren der Sensoren

Wenn man nun Root-Zugriff auf das Android-System hat, gestaltet sich das An- bzw. Ausschalten der Sensoren ziemlich einfach – je mit einem kurzen Shell-Befehl.

Für diese Shell-Befehle ist es vermutlich nicht notwendig, die Entwicklereinstellungen bzw. die „Sensoren-Kachel“ zu aktivieren. Für ein erstes Testen sollte man dies vielleicht erst einmal tun. Wenn alles läuft, kann man die Entwicklereinstellungen später wieder deaktivieren.

In einem neuen Task legt man einfach eine neue Shell-Befehl-Aktion an:

CodeShell Ausführen

Für das Deaktivieren der Sensoren nutze ich diesen Befehl:

service call sensor_privacy 9 i32 1

Das Häkchen bei ›Benutze Root‹ muss hier in der Aktion natürlich gesetzt sein.

Werbung

Man kann diesen Task ja via dem „Play“-Symbol einmal manuell starten. Oben in der Info-Leiste sollte nun sofort ein neues Symbol erscheinen, welches wie ein durchgestrichenes Diagramm ausschaut.

Hinweis: Der Code funktioniert auf meinen beiden Xiaomi-Geräten mit Android 16 (Custom Rom). Hoffentlich funktioniert er auch auf Ihrem Gerät. Wenn nicht, müsste man ggf. die Ziffern (die 9) ändern? Falls es nicht geht, halte ich noch eine andere Möglichkeit bereit – s. u.

Für das Aktivieren der Sensoren benötigen wir einen etwas anderen Code:

service call sensor_privacy 9 i32 0

Auch für diesen habe ich einen eigenen Task mit der Aktion „Shell Ausführen“ angelegt, ebenfalls mit dem Häkchen bei „Benutze Root.

Schaltet man diese beiden Tasks (mit dem Play-Symbol oder via Tasker-Widget), kann man bereits recht elegant die Sensoren umschalten. Aber dies könnte man ja auch regulär via der Entwickler-Kachel.

Das dazugehörige Profil

Doch wer Tasker kennt, weiß natürlich, dass man solche Tasks mittels Profilen bzw. Bedingungen automatisch aktivieren kann: Ich hatte mir dann ein Profil (› App) angelegt, bei dem ich genau die Apps auswählte, welche zum Betrieb die Sensoren (bzw. einen davon) benötigen.

Bei mir sind es die Bahn-App und OsmAnd (Kompass-Sensor für die Karten), die Diktiergeräte-App (Mikrofon), die Telefon-App (Näherungssensor, damit das Display ausgeht beim ans Ohr Halten), eine Belichtungsmesser-App für meine analoge Kamera (Umgebungslicht-Sensor). Mehr Sensoren benötige ich nicht und dementsprechend wenige Apps triggern das Aktivieren der Sensoren.

Als Ausgangstask habe ich bei diesem Profil dann meinen Task ›Sensoren deaktivieren‹ definiert. Denn wenn die entsprechende App nicht mehr aktiv auf dem Bildschirm erscheint, greift dieser Ausgangstask – Die Sensoren werden automatisch wieder deaktiviert – der Normalzustand bei mir.

Problem 1: Kamera-App

Leider startet die Kamera-App sehr schnell und prüft dabei sofort, ob ein Zugriff auf die Sensoren vorhanden ist – hier also auf die Kamera. Tasker kann die Android-Sensoren nicht so schnell aktivieren. Die Kamera-App wird dann eine Fehlermeldung von sich geben bzw. nicht starten.

Man kann aber einen eigenen „Kamera-starten-Task“ anlegen (Sensoren an, kurz warten, Kamera-App starten). Dann legt man sich einen Button für diesen Task (Tasker-Widget) auf den Home-Screen. Oder aber man nutzt unter Tasker die Möglichkeit der Hilfs-App („Sekundäre App“) und definiert für diese den neuen Kamera-Task. Dann kann man diesen auch aus der regulären App-Übersicht starten (nicht nur via Widget).

Problem 2: Umgebungslicht-Sensor

Eben deutete ich noch an, dass ich so gut wie keinen der in meinem Android-Smartphone integrierten Sensoren benötige. Allerdings benötige ich den Umgebungslichtsensor. Denn draußen bei hellem Licht sollte sich das Display natürlich schon automatisch heller stellen – bei allen Apps und auch bei Blick auf dem „Home-Screen“.

Ich werde also ein weiteres Tasker-Profil erstellen: Aktiviere die Sensoren immer, wenn das Display an ist. Wenn das Display aus ist, deaktiviere sie wieder. Dann sind wenigstens im Ruhezustand alle Sensoren aus. Demzufolge benötige ich also auch nicht mehr das erste Profil (mit der App-Auswahl). Das Profil „Sensoren an, wenn Display an“ beinhaltet ja dessen Logik.

Sensoren-Kachel mit Tasker steuern

Wenn die beiden oben genannten Shell-Befehle auf dem eigenen Smartphone nicht funktionieren, kann man es mir diesem versuchen:

cmd statusbar click-tile com.android.settings/.development.qstile.DevelopmentTiles\$SensorsOff

Hierfür müssen jedoch die oben angesprochenen Entwickleroptionen aktiviert sein und dort auch die „Sensoren-Kachel“. Der Shell-Befehl (auch hier ist Root vorausgesetzt) schaltet die Kachel an bzw. aus.

Gegenüber den zwei Befehlen hat dies zwei Nachteile: Das Icon in der Infoleiste wird manchmal nicht aktualisiert und man kann schlecht eine Zustands-Variable schreiben, auf die man sich ggf. später berufen möchte (Sensoren-an / Sensoren-aus).

Damit das Icon stets korrekt aktualisiert werden kann, kann man innerhalb des Tasks per Tasker-Shell-Ausführen-Aktionen die Infoleiste schnell ausklappen bzw. wieder einklappen:

cmd statusbar expand-settings

(kurz warten)

cmd statusbar collapse

Dies sorgt allerdings regelmäßig für einen etwas wackeligen Bildschirm.

Werbung

Man kann auch hier je eine Variable anlegen, ob gerade die Sensoren aktiviert- bzw. deaktiviert sind. Man fragt dann innerhalb des Taskes einen beliebigen Sensor-Wert ab (z. B. Accelerometer) › Task Sensor testen – und prüft danach dessen Wert %as_values() gegen „ungleich 0“. Wird hierbei gar kein Ergebnis ausgeliefert, sind die Sensoren nicht aktiv. Erhält man bei der Prüfung irgend ein Ergebnis (Sensor gibt Wert wieder), sind die Sensoren aktiv und man kann dies „aktiv“ in eine eigene Variable (z. B. „%Sensor_Status“) schreiben.

Kurzum: Die Sache mit den Smartphone-Sensoren muss ich noch etwas genauer in der Praxis testen. Was mich erfreut, ist, dass man sie konkret via Tasker an- bzw. abschalten kann. Im Detail kann dies jedoch bisweilen etwas hakelig werden (insbesondere bei der Kamera-App und bei dem Umgebungslicht-Sensor). Und leider benötigt man für alle diese Aktionen Root-Zugriff auf Android, wodurch dies für die meisten Nutzer nicht realisierbar sein dürfte.

Kommentar schreiben

Hier gibt es die Möglichkeit für Resonanz. Pflichtfelder sind mit * markiert.

Kommentare erscheinen nicht sofort bzw. werden manuell freigegeben. Mit dem Absenden des Formulars stimmen Sie der Datenschutzerklärung zu bzw., dass Ihre eingegebenen Daten gespeichert werden. IP-Adressen werden nicht gespeichert.