Was ändert sich mit Android 10?

Lesezeit: 4 Min, veröffentlicht am 18.02.2020
Was ändert sich mit Android 10?

Am 3. September 2019 hat Google die neue Version seines Betriebssystems Android veröffentlicht. Als erstes fällt auf, dass die neue Version erstmals seit Android 1.1 keinen „süßen“ Beinamen wie „Nougat“ oder „Pie“ trägt, worauf Google auch in Zukunft verzichten will. Inhaltlich liegt der Schwerpunkt auf Neuerungen, die den Umgang mit sensiblen Daten betreffen.

Umgang mit Standortdaten

Hierbei hat sich Google zunächst an die neue Herangehensweise bei den Berechtigungen für die Ermittlung der Standortdaten gemacht. Vor Android 10 gab es nur Berechtigungen, die angaben, ob die Anwendung präzise oder ungefähre Standortdaten benötigte (was in der Praxis oft zu dem gleichen Ergebnis führte). Nun existiert eine Berechtigung, die den Umgang mit den Daten regelt, wenn sich die Anwendung im Hintergrund befindet.

Das Standardverhalten vor Android 10, das sicher nicht jedem Nutzer bewusst war, war nämlich, dass Anwendungen, die über eine der beiden Berechtigungen verfügten, standardmäßig Daten sammeln konnten, auch wenn sie nur im Hintergrund geöffnet waren. Mit der neuen Version ist dies nicht mehr der Fall. Der Entwickler muss mit einer zusätzlichen Berechtigung (ACCESS_BACKGROUND_LOCATION) explizit angeben, dass seine Anwendung auch im Hintergrund Daten sammeln soll. Hinzu kommt, dass der Nutzer dem explizit zustimmen muss, um dieses Verfahren transparenter zu gestalten.

Auswahlmöglichkeiten für den User für Standortdaten Auswahlmöglichkeiten für den User für Standortdaten (Quelle)

Aktivitäten aus dem Hintergrund

Vor Android 10 war es Anwendungen unter Umständen möglich, Aktivitäten zu starten (und sich somit wieder “in den Vordergrund zu drängen”), selbst wenn die Anwendung eigentlich im Hintergrund ist und somit kein sichtbares Fenster hat. Für den Nutzer ist das natürlich sehr ärgerlich – beispielsweise bei einem Echtzeit-Spiel, in dem sich plötzlich eine Anwendung in den Vordergrund schiebt, die man bereits vor mehreren Minuten geschlossen hat. Deswegen schränkte Android 10 die Möglichkeiten, wann eine Anwendung eine Activity aus dem Hintergrund starten kann, stark ein, sodass es nur noch in in wenigen Fällen möglich ist.

Ein solcher Fall ist beispielsweise, dass die Anwendung einen sogenannten Pending Intent vom System oder einer anderen Anwendung, die gerade im Vordergrund ist, bekommt. Ein Pending Intent kommt von einer anderen Anwendung und befähigt den Empfänger, ein vordefiniertes Stück Code mit der Berechtigung der aufrufenden Anwendung auszuführen. Unabhängig von den neuen Einschränkungen gibt es seit längerem schon bessere Alternativen, um den Nutzer dazu zu bewegen, die Anwendung wieder zu starten. Zum Beispiel unterbrechen Notifications keine Tätigkeiten des Nutzers. Es bleibt auch ihm überlassen, ob und wann er darauf reagiert. Außerdem ist das Verwalten und Einstellen von Notifications für den Nutzer deutlich einfacher. Während es davor unter Umständen sogar nötig war, die Anwendung zu deinstallieren, um die Unterbrechungen zu unterbinden, ist es mit Notifications möglich, diese entsprechend ihrer Kategorie in den Einstellungen an- oder auszustellen. Notifications sind zudem, im Vergleich zu anderen Methoden mit ähnlichem Ergebnis, relativ einfach zu implementieren.

Scoped External Storage

Neuigkeiten gibt es auch bei den Speicherorten von Anwendungen. Vor Android 10 gab es im Großen und Ganzen (neben SharedPreferences) die Möglichkeiten, die Daten der Anwendung entweder in den Internal- oder External Storage zu speichern. Die Vorteile des Internal Storages sind, dass er immer erreichbar ist und nur die Anwendung selbst Zugriff darauf hatte. Beim External Storage (also dem Speicher des Gerätes selber) hingegen benötigt man Lese- und/oder Schreibberechtigung, um darauf zugreifen zu können. Allerdings haben alle Anwendungen, die diese Berechtigungen haben, Zugriff auf den gleichen Speicherbereich. Ob man dort seine Daten ablegen will, musste man sich gut überlegen. Um die Vorteile aus beiden Konzepten zu vereinen, kommt mit Android 10 der Scoped External Storage. Hier hat jede Anwendung einen eigenen Bereich im External Storage und zunächst hat nur die Anwendung selbst ohne explizite Berechtigungen Zugriff darauf. Ein weiterer Vorteil ist, dass die Daten gelöscht werden, falls die Anwendung deinstalliert werden sollte, was beim „einfachen“ External Storage nicht der Fall war. Solange die Anwendung nur Zugriff auf den eigenen Scoped External Storage benötigt, kommt für den Entwickler erleichternd hinzu, dass er dafür keine Permissions benötigt. Auf die Daten greift man ganz einfach mit getExternalFilesDir() zu.

Weitere Änderungen im Privacy Bereich

Neben den bereits genannten Änderungen finden sich bei der neuen Android-Version auch weitere Einschränkungen, die den Zugriff auf weitere sensible Daten regulieren. So benötigt man in der Regel mehr Berechtigungen um, wenn überhaupt, Zugriff zu Daten, wie zum Beispiel den IMEI oder Metadaten von Kameras etc. zu bekommen.

Sonstige Änderungen

Abgesehen von Änderungen im Privacy-Bereich liefert Android 10 auch einige neue Features.

Neben einem systemweiten, potentiell energiesparenden Dark Mode, haben Nutzer nun die Möglichkeit, Smart-Replies zu benutzen. Dieses Feature liest einkommende Notifications und ermittelt durch Machine-Learning, welche Antworten im jeweiligen Fall sinnvoll sein könnten. Bei einer eingehenden Anfrage für ein Treffen mit Adresse kann der Nutzer nun direkt Ja oder Nein antworten oder sich direkt die Adresse in Google Maps anzeigen lassen.

Beispiel für Smart Reply Beispiel für Smart Reply. (Quelle)

Eine weitere Neuerung ist die vollständige Unterstützung für Gestennavigationen. Damit kann nun der komplette Screen sowohl für selbst implementierte Bewegungen in eigenen Anwendungen als auch für Bewegungen des Systems genutzt werden. Beachten muss man als Entwickler allerdings, dass die System- und benutzerdefinierten Gesten nicht miteinander in Konflikt geraten.

Über das Settings Panel ist ein schnellerer Zugriff auf Systemfunktionen möglich. Hier kann der Entwickler dem Nutzer im Kontext der Anwendung wichtige Funktionen zur Verfügung stellen. Wenn zum Beispiel eine Anwendung bemerkt, dass keine Internetverbindung besteht, diese aber für die aktuelle Situation in der Anwendung nötig ist, erscheint das Settings Panel. Somit ist der Nutzer nicht aktiv gefordert, sondern stellt einfach bei der dann erscheinenden Eingabeaufforderung die Internetverbindung ein. Neben der Internetverbindung sind bisher Einstellungsmöglichkeiten für die Lautstärke, Wifi und NFC möglich. Es ist durchaus denkbar, dass noch viele weitere Möglichkeiten hinzukommen.

Zusammenfassung

Insgesamt bringt die neue Android-Version zahlreiche Verbesserungen im Privacy-Bereich. Für den Nutzer ist der Umgang mit seinen Daten transparenter und nachvollziehbarer. Auf den Entwickler kommt unter Umständen etwas Arbeit für die Umstellung der Anwendung zu, wenn bestehende Anwendungen in Zukunft auch auf neueren Versionen laufen sollen.

Quellen:
https://developer.android.com/

Tags

Verfasst von:

Foto von Tom

Tom

Tom ist Mobile Engineer bei cosee und begeistert sich vor allem für Cross-Plattform-Technologien wie Flutter.