Android 4.3 enthält versteckte Option für App-Berechtigungen
Ein Android 4.3 Feature, dass auf dem gestrigen Event keine Erwähnung fand – vermutlich weil es noch nicht fertig ist – ist App Ops. Obwohl noch nicht fertig, scheint es aber schon zu funktionieren. Mit App Ops könnt Ihr einzelnen Apps Berechtigungen entziehen, beispielsweise die Standortübermittlung oder das Auslesen der Kontakte. Man sollte allerdings wissen, welcher App man welche Berechtigung entzieht, bei einer Navigations-App würde es wenig Sinn ergeben, ihr die Standortübermittlung zu verbieten.
Um die versteckte Funktion zu aktivieren, muss man eine App starten, die Activities starten kann, in diesem Fall wird der Nova Launcher verwendet. Dort wählt man die Einstellungen und im Anschluss App Ops. Dies erstellt einen Shortcut.
[werbung]
Wählt man nun App Ops aus, erhält man eine Liste mit allen Apps, gleichzeitig sieht man, auf welche Berechtigungen diese zugreifen. Aufgegliedert in die vier Bereiche Location, Personal, Messaging und Device sieht man die Apps und den Zeitpunkt, wann sie das letzte Mal auf etwas zugegriffen hat.
Wählt man eine einzelne App aus, erhält man detaillierte Informationen zum Zeitpunkt der letzten Nutzung und kann die einzelnen Berechtigungen abschalten. Im Fall der Facebook App wird so einfach kein Ort gefunden, die App funktioniert aber weiterhin ohne Probleme.
Einige Berechtigungen müssen erst einmal genutzt werden, bevor sie in App Ops auftauchen. App Ops nimmt sich nicht die App-Berechtigungsliste, die man unter App Info findet, sondern versucht die Berechtigungen selbst zu finden.
Solltet Ihr mit dem Feature herumspielen, passt gut auf, damit Ihr nicht plötzlich einen Haufen unbrauchbarer Apps auf Eurem Android-Gerät vorfindet, weil Ihr meint, die App braucht eine bestimmte Berechtigung nicht. Ich hätte es gern selbst getestet, allerdings ist mir heute ein kleiner Fauxpas beim Flashen meines Nexus 4 unterlaufen, so dass mir dies im Moment nicht möglich ist (fragt besser nicht…).
Solltet Ihr schon Android 4.3 auf Eurem Gerät haben und das Feature aktivieren, freuen wir uns natürlich über Kommentare, wie gut oder schlecht das Ganze funktioniert. Ein ähnliches Feature (eigentlich genau das gleiche) wurde übrigens bereits für CyanogenMod mit dem Incognito Mode angekündigt, in den Nightlies müsste es sogar schon verfügbar sein (genauere Infos gerne von Nutzern auch in die Kommentare).
Also Huawei ist dann wohl Google voraus. Auf dem P6 geht das schon mit Android 4.2
Nützlich. Brauche theoretisch also kein LBE mehr.
Dann hat 4.3 ja doch ein heißes neues Feature bekommen.
So kann mit dem Nova Launcher drauf zugreifen:
Lange auf einen leeren Platz auf dem Homescreen drücken – „Verknüpfungen“ wählen – „Aktivitäten“ wählen – „Einstellungen“ wählen – „App-Vorgänge“ wählen.
Dann hat man eine Verknüpfung dazu auf dem Homescreen, in den normalen Einstellungen ist die Funktion nämlich nicht vorhanden.
Diese Option finde ich wirklich super! Ich Frag mich nämlich bei der einen oder anderen App warum die genau diese Daten braucht. Ist nur die Frage, wie lange ein Appanbieter braucht um ne Fehlermeldung einzubauen, die die ganze App lahm legt, damit alle Berechtigungen wieder eingeschalten werden.
Lol geniales feature danke für die Info. Mir is dabei was gemeines aufgefallen. Hab 4.3 heute früh geflasht und dann alles neu installiert auch Facebook und da natürlich gleich den Ortungsdienst ausgemacht. Man bedenke heute früh gegen 7. Und jetzt gug ich rein bei fb und da steht doch glatt vor 51min Standort abgerufen!!!
Der Incognito Mode heißt jetzt Privacy Guard ist seit Ende Juni in den CyanogenMod Nightlies. Funktioniert super!
Bei AOKP gibt es ähnliches. Im aktuellen Milestone enthalten.
Funktioniert einwandfrei. Endlich auch ohne root und LBE Privacy Guard direkt auf Android Ebene Kontrolle über alles. Ich denke als App Anbieter kann man sich kaum wappnen. Android simuliert beim Schalter auf aus eine Fehlfunktion die für die Standort APIs zum Beispiel auch dokumentiert ist. Das System gaukelt der App dann einfach vor „GPS? Bin grade im Keller vergiss es“ oder Netzwerk? Hab Ich nicht. Da eine App auch auf Geräten ohne GPS laufen soll kann sich der Entwickler dieser Kontrolle durch den Nutzer nicht entziehen. Eine Überprüfung ob Android blockt oder ein Fehler vorliegt ist imho nicht möglich.
Das ist im Grunde eine super Funktion – bis auf den groben Schnitzer:
„Einige Berechtigungen müssen erst einmal genutzt werden, bevor sie in App Ops auftauchen. App Ops nimmt sich nicht die App-Berechtigungsliste, die man unter App Info findet, sondern versucht die Berechtigungen selbst zu finden.“.
Wenn die Funktion mindestens einmal genutzt wird, bevor man sie sperren kann, dann ist es schon zu spaet. Dann hat die App im Zweifelsfall halt schon die Kontakte, die SMS, oder was auch immer ausgelesen und nach hause gefunkt.
Erst nutzen, dann blockieren ist doch Käse. Geht das nicht im Vorhinein?
Berechtigungen konnte man ja schon lange bei den Cyanogenmods entziehen…Da war das Desire HD noch aktuell 😉
Google übernimmt sehr viel von den CM-Jungs, da die oft pfiffige Ideen haben. Siehe notification bar und weg-swipe-bare benachrichtigungen…
Nicht schlecht, das war schon lange überfällig, spätestens seit der Einführung in iOS. Zugegebenermaßen etwas eleganter gelöst, bei Apple sieht man nicht so genau was wann genutzt wurde…
„mir dies im Moment nicht möglich ist (fragt besser nicht…)“ hast du einen teuren Briefbeschwerer draus gemacht? 😉
appguard ist die lösungs jungs. macht es vorher und. iel kompfortabler.
Naja hab LBE drauf gehabt, die einte APP hat nichtmal mer Funktioniert als ich ihr ein meiner Meinung nach unwichtige Funktion entzogen habe…
Ich denke das die Entwickler dann einfach Funktionen voneinander abhängig machen und schon gehts nichtmehr wenn nicht alles auf On steht…
Ich kann ja mal als Entwickler was dazu sagen, @Fabian:
Wenn ich z.B. versuche eine Internetverbindung aufzubauen, ohne die Permission dazu zu haben, dann wirft das ganze eine AccessViolationException. Wenn die App darauf nicht reagiert, wird sie vollautomatisch vom System gecrasht.
D.h., ich als Entwickler muss für jede Benutzung von Permissionsabhängigen Sachen eine Ausnahmebehandlung einbauen, was die Sache ein bisschen verkompliziert (vor allem in Java 6, was noch kein Multicatch kann).
Deshalb stürzen so viele Apps ab, wenn man Permissions entfernt, weil sie keine Ausnahmebehandlung machen sondern einfach davon ausgehen, immer überall Internet zu haben.
Ich sehe schon die ganzen Leute, die sich wundern, wieso Whatsapp nicht mehr geht, nachdem das Telefonbuch gesperrt wurde.
Es gibt halt eine ganze Menge Apps, die auf den ersten Blick recht viele Rechte brauchen, auf dem zweiten Blick dadurch aber erst eine Unmenge an nützlichen Features bekommen.
Bei Apps gilt generell, dass man die Vertrauenswürdigkeit nur sekundär an den verlangen Rechten beurteilen sollte!
Ich habe es bei meiner App so gehandhabt, dass ich in der PlayStore Beschreibung genau beschrieben habe, wofür die Rechte benötigt werden.
So ist direkt klarheit geschaffen, auch wenn meine App keine „kritischen“ Berechtigungen braucht.
Fragt sich, wie die App das macht ?
Dumm wäre, wenn sie die Rechte einfach ganz entzieht! Besser wäre zB bei den Kontakten, einfach eine leere Kontaktliste zu übermittlen, bei den Nachrichten, einfach sagen, es gäbe keine, beim GPS behaupten, dass kein Signal zur Verfügung steht oder man sich gerade auf dem Atlantik irgendwo befindet, beim Internet die gesendeten Daten nicht nach aussen leitet, oder bzw ermöglicht, die Kommunikation gar im Klartext auf zu zeichnen, usw
@Ben @Sascha: Aus dem Artikel: „Im Fall der Facebook App wird so einfach kein Ort gefunden, die App funktioniert aber weiterhin ohne Probleme.“ Heißt das genau, dass statt entziehen der Berechtigung Fake-Daten übermittelt werden?
Ansonsten, guter Schritt. Ich frage mich nur, wie sich das auf die Apps auswirkt, wenn plötzlich jeder App, die Werbung zeigen will, die Internetverbindung entzogen wird.
Ich finde die erzeitige Lösung bei iOS aber derzeit noch eleganter. Da wird man nach der Berechtigung gefragt, sobald die App sie das erste mal verwenden will. Andererseits ist die Google-Lösung ja auch noch nicht fertig…
Wenn Google jetzt noch ein automatisches Cloudbackup (inklusive Fotos etc) einbaut, und bei Nexus 7 / Nexus 4 mit der Akkulaufzeit zu Apple aufholt (beim Nexus 10 haben sie schon überholt) bleibe ich fürs Smartphone vielleicht doch bei Android 😉 Fürs Tablet sieht es schlechter aus, da ich mir nicht vorstellen kann, dass in absehbarer Zeit ein 4:3 Nexus-Gerät kommt. Wahrscheinlicher scheint in dem Fall, dass die iPads 16:9 werden…