ubahnstation.net
Geschichten aus dem Untergrund

Ich bin ja immer noch stolzer Besitzer eines Motorola XOOM der ersten Generation und solange das gute Stück funktioniert, werde ich mir auch kein neues Tablet zulegen. Es ist zwar für heutige Verhältnisse ziemlich langsam, aber es tut immer noch was es soll und der Akku hält auch gerne mal ein paar Tage, wenn es nicht überbeansprucht wird.

 

Letztens hab‘ ich festgestellt, dass es noch andere Entwickler gibt, die das XOOM nicht abgeschrieben haben und tatsächlich eine KitKat Distribution dafür erstellt haben, die auf dem OmniROM basiert:

 

https://www.xda-developers.com/android/motorola-xoom-still-alive-and-kicking-receives-functional-kitkat/

 

Nach den Erfahrungen, die ich mit Paranoid Android und ClockworkMod Recovery gemacht habe, werde ich heute mal gleich ein aktuelles TWRP Recovery installieren. Hierbei hab ich auch gleich mal die Bekanntschaft mit einem gebrickten Device gemacht.

 

Wenn sich das Device nach dem Neustart mit „starting RSD mode 3“ meldet, lässt es sich mit etwas Fingerspitzengefühl wieder in einen brauchbaren Zustand bringen:

 

Volume-Down+Power Off drücken, bis der Bildschirm schwarz wird, danach schnell Volume-Up+Power On drücken. Der Bildschirm bleibt zwar schwarz, aber ‚fastboot devices‘ listet das XOOM wieder auf.

 

Jetzt kann mit ‚fastboot flash recovery recovery.img‘ das richtige Recovery-Image installiert werden.

 

Danach lässt sich das XOOM wieder in den Recovery-Modus booten.

 

Um Android 4.4.2 zu installieren, muss das Device bigPart formatiert sein. Was das heisst und wie das zu machen ist, kann man hier nachlesen:

 

http://forum.xda-developers.com/showthread.php?t=2506997

 

Wichtig: Die Anleitung sollte genau befolgt werden, andernfalls funktioniert die Installation nicht!

IMG_20140208_123311

Scheinbar scheint die Installation mehrerer Komponenten mit TWRP nicht richtig. Ich habe zuerst das ROM, dann das eos4 bigpart bootimage installiert. So wollte das XOOM aber nicht booten. Also nochmal zurück zum Recovery, nochmal das ROM installieren, booten jetzt geht’s. Puh. Was sich hier wie ein 10 Minuten-Job liest, hat ein paar Stunden gedauert. Wenn man die Anleitung oben aber sofort genau befolgt, kann nichts schief gehen.

Links:

http://www.xda-developers.com/android/squeeze-bigger-roms-onto-the-motorola-xoom-with-bigpart/

 

Ach, nochwas: Auch das OmniROM bietet die App Privacy / Apps permissions funktionalität. Ich werde dem mal auf den Zahn fühlen und schauen, ob es hält was es verspricht.

 

 


Beim Anmelden zu einem kostenlosen Probeabo für WELT digital möchten mypass und Axel Springer, dass ich Ihre Datenschutzbestimmungen akzeptiere. Das geht aber nur, wenn ich mit der Verknüpfung der Daten aus der REM-Webanalyse mit meinem Account einverstanden bin.

SpringerWeltDatenschutz

Ich glaube, das brauche ich dann nicht unbedingt.


Dank eines Tipps von AndroidPIT bin ich auf Paranoid Android für das Galaxy Nexus gestoßen und musste selbiges natürlich mal installieren. Den (bisher) einzigen negativen Aspekt möchte ich gleich zu Beginn erwähnen: Paranoid Android zur Zeit leider nur für die Google Nexus Geräte verfügbar.

 

Dann mal los: Nach einigen Anfangsschwierigkeiten, die aber von einem veralteten TRWP Recovery herrührten, lief es nach einem Tag stabil und ruckelfrei. Wichtig: Aktuelles TRWP Recovery installieren und alle Daten vor der Installation löschen. Danach nur die Applikationsanwendungen und -daten aus dem Backup (das natürlich vorher erstellt werden sollte) wieder einspielen. Mit Clockworkmod Recovery konnten nicht alle Partitionen gelöscht werden.

 

Ich hab’s jetzt ca. zwei Wochen laufen und bin absolut begeistert. Es ist schnell, läuft stabil und bietet verschiedenen Funktionen, die ein Stock-ROM nicht bietet.

 

Screenshot_2014-02-01-13-25-14Die wichtigste Funktion, wie ich finde, ist die sog. App Privacy, durch die der Anwender einen etwas besseren Einblick in das Rechtesystem von Android bekommt.

 

App Privacy liefert zunächst mal einen Überblick darüber, welche Apps welche Rechte anfordern und ob sie diese überhaupt nutzen. Das Rechtekonzept von Android ist leider etwas grob strukturiert, so dass Apps Rechte für Funktionalitäten anfordern müssen, obwohl sie diese nicht oder nicht im vollen Umfang nutzen wollen. Ein Barcode Scanner benötigt z.B. Zugriff auf die Kamera, wird damit aber nichts böses anstellen wollen. Eine App, die für die Synchronisation von Kalendern und Kontakten gedacht ist, benötigt selbstverständlich Zugriff auf die Benutzerkonten. Auch wenn es schwerfällt, eine solche App zu installieren, wenn man nicht zufällig den Quellcode der App einsehen kann.

 

Sehr hilfreicScreenshot_2014-02-01-14-00-41h ist die Information, wann eine App zuletzt Gebrauch von einem ihr zugestandenen Recht gemacht hat und ob sie aktuell aktiv ist. Dadurch bekommt man überhaupt erstmal einen Eindruck, was diese Apps tun, wenn man sie unbeaufsichtigt im Hintergrund laufen lässt.

Im Fall der bei mir installierten Facebook App erstaunt es mich jedoch, dass sie noch nie (zumindest solange ich Paranoid Android installiert habe) auf meine Kontaktdaten zugegriffen hat.

 

 

Aber das ist noch nicht alles. App Privacy erlaubt es mir, bestimmten Apps einzelne Zugriffsrechte zu entziehen. Dadurch werden die Forderungen von Apps wie Facebook oder Twitter etwas entschärft und man hat ein etwas besseres Gefühl, diese Apps zu installieren.

 

So, also was passiert jetzt genau, wenn ich einer App, die z.B. auf meine Kontaktdaten zugreifen will, das  Recht dazu entziehe. Dazu habe ich mal eine kleine Testapp erstellt und sie alle meine Kontakte auslesen lassen.

public void fetchContacts() {
   ContentResolver contentResolver = mContext.getContentResolver();
   Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI,
          null,null, null, null);
   if (cursor.getCount() > 0) {
       while (cursor.moveToNext()) {
           String name = cursor.getString(cursor.getColumnIndex( 
                  ContactsContract.Contacts.DISPLAY_NAME ));
           Log.d(this.getClass().getName(), name);
       }
   }
}

 

Eine App, die den ContentResolver für den Zugriff auf die Kontaktdaten verwenden will, benötigt dazu die Permission „Kontakte lesen“ (android.permission.READ_CONTACTS).

 

Fehlt der App dieses Zugriffsrecht, wirft der ContentResolver bei Verwendung von .query(CONTENT_URI) eine Security Exception.

java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=21723, uid=10097 requires android.permission.READ_CONTACTS, or grantUriPermission()

 

Das Verhalten beim selektiven Entzug der Permission READ_CONTACTS mit App Privacy ist jedoch anders. contentResolver.query(ContactsContract.Contacts.CONTENT_URI) liefert in diesem Fall einen Cursor mit 0 Einträgen. Dadurch wird verhindert, dass die App auf Informationen zugreifen kann, ohne dass sie aufgrund von nicht abgefangenen Exceptions abstürzt.

 

Ein Versuch mit den Zugriff auf Positionsdaten liefert ein ähnliches Ergebnis.  Der Aufruf von

mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, this);

ist zwar erfolgreich, der LocationManager liefert aber keine Positionsdaten.

 

Eigentlich eine sehr gute Lösung. Wer also gerne die Facebook-App auf die aktuelle Version, die einfach unmöglich viele Rechte für sich in Anspruch nehmen will, updaten möchte, sollte vorher Paranoid Android installieren.

 

 

 



Copyright © 2012 by Dimitri Brukakis - dimi (at) ubahnstation (dot) net
Powered by Wordpress