Android Q: Das sollten Entwickler wissen

Das Logo von Android Q. (Grafik: Google)
Optimierungen für Foldables, neue Sharing Shortcuts, Settings Panel und neue Media Codecs sowie besserer Datenschutz. Das sind die neuen Möglichkeiten für Android-Entwickler der Android-Q-Beta-1.
Google legt mit Android Q den Fokus auch auf den Datenschutz, Sicherheit für den Nutzer, erhöhte Kontrolle über die Apps und Steuerung des Zugriffs. Das umfasst die Berechtigungen für den Standort genauso wie den Zugriff auf externe Speicher. Auch können Activitys nicht mehr ohne Weiteres aus dem Hintergrund gestartet werden. Auf die Änderungen beim Thema Datenschutz müssen sich App-Entwickler in Android Q außerdem vorbereiten – hier herrscht Handlungsbedarf.

Die neue Standortabfrage in der ersten Android Q Beta fragt auch nach dem Zugriff im Hintergrundbetrieb. (Grafik: Google)
Seit einigen Android-Versionen müssen Apps den Nutzer um Erlaubnis bitten, wollen sie auf sensible Daten wie die Kontaktliste, das Mikrofon oder eben auch auf den Standort zugreifen. Um zu verhindern, dass Apps auch auf den Standort zugreifen, während sie im Hintergrund laufen, ergänzt Google eine weitere Rechteoption in Android Q: ACCESS_BACKGROUND_LOCATION
. Die muss nun ebenfalls zur Manifest-Datei ergänzt werden – zusätzlich zu den groben oder genauen Standortrechten.
<manifest>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
</manifest>
Entwickelt ihr eine Android-Q-App, wählt jedoch eine ältere Android-Version als Ziel, so wird die neue Permission automatisch in der Manifest eingefügt.
Mit der ersten Beta-Version von Android Q kann auf den externen Speicher nicht mehr mit den bisherigen Rechteoptionen READ_EXTERNAL_STORAGE
und WRITE_EXTERNAL_STORAGE
zugegriffen werden. Google führt einen deutlich engmaschigeren Zugriff ein – abhängig davon, ob Medien gespeichert oder appspezifische Daten gespeichert werden sollen.
Mit Android Q erhält jede App einen eigenen isolierten Speicherbereich. In dieser Sandbox kann nur die jeweilige App Dateien schreiben oder lesen. Berechtigungen für den Speicherbereich sind nicht notwendig. Zugegriffen werden kann mithilfe von Context.getExternalFilesDir().
Als Parameter kann nun die gewünschte Umgebung übergeben werden: DIRECTORY_DOCUMENTS
beispielsweise. Wird die App deinstalliert, so wird auch der Sandbox-Speicher gelöscht.
Soll die App jedoch Dateien speichern, die dem Nutzer gehören und unabhängig von der Deinstallation weiterhin bestehen bleiben sollen, so können die in der gemeinsamen Mediensammlung (Shared Collections) abgelegt werden. Auch in diesem Kontext muss für die eigenen Dateien keine Permission angefragt werden. Soll jedoch auf die Medien anderer Apps zugegriffen werden, wird einer der folgenden Berechtigungen benötigt: READ_MEDIA_IMAGES
, READ_MEDIA_VIDEO
oder READ_MEDIA_AUDIO
.
Mehr Details zum Zugriff auf Dateien unter Android Q findet ihr hier.

Android Q wird für Foldables vorbereitet. (Screenshot: Google)
Um neue Smartphones wie das Huawei Mate X oder das Samsung Galaxy Fold zu unterstützen, arbeitet Google an einigen Verbesserungen in Android Q.
Passend dazu: Foldables: Sind das Mate X und Galaxy Fold die Zukunft des Mobile Computing?
Dafür gibt es Änderungen, die Google Multi-Resume nennt. Das neue Verhalten beeinflusst auch, wie Apps im Multi-Window arbeiten. Während zuvor tatsächlich nur eine App aktiv war und alle anderen pausierten, so sind nun alle im aktiven Lifecycle. Stattdessen wird die entsprechende App benachrichtigt, wenn sie vom Nutzer fokussiert wurde.

Echtes Multitasking in Android Q. Zusätzliche Apps im Multi-Window pausieren nun nicht mehr. (Grafik: Google)
Um einen besseren Einfluss auf die Anzeige der App auf großen Displays und Foldables zu haben, hat Google außerdem angepasst, wie das Manifest-Attribut Resizeable-Activity arbeitet. Außerdem will Google demnächst den Android Emulator aktualisieren, um dort auch Foldables zu unterstützen.

Mit Android Q wird endlich der Teilen-Dialog überarbeitet und beschleunigt. (Screenshot: Google)
Mit den neuen Sharing Shortcuts können Inhalte im Teilen-Dialog beispielsweise direkt an eine Person geschickt werden, anstatt nur an eine App. So wird dem Nutzer ein Schritt erspart, und Entwickler müssen nur noch die neue API implementieren.
Das neue Feature funktioniert ähnlich wie die bereits bekannte App-Shortcuts-Funktionalität. Dafür hat Google die Shortcut-Info-API überarbeitet. Dadurch soll die Implementierung beider Features noch leichter werden. Eine neue Beispiel-App auf GitHub soll den Einstieg erleichtern.

Android Q mit neuem Settings-Panel für Einstellungen über Apps. (Screenshot: Google)
Mit der neuen Settings-Panel-API können Systemeinstellungen wie der Flugmodus, Internetverbindung, NFC oder Audioeinstellungen in einem neun Popup vorgenommen werden. Ist beispielsweise der Flugmodus aktiviert, die App benötigt aber eine Verbindung zum Internet, so muss die App mithilfe des Settings Panel nicht mehr verlassen werden.
Viele neuere Smartphones sind, auch wegen des Einsatzes mehrerer Kameras, dazu in der Lage, Tiefeninformationen in den Metadaten zu einem Foto abzulegen. Dadurch kann relativ zu einem fokussierten Objekt der Vorder- oder Hintergrund verwischt werden.
In Android Q kann nun ein „Dynamic Depth Image“ angefordert werden. Das besteht aus einer JPEG-Datei, XMP-Metadaten für Elemente mit unterschiedlicher Tiefe sowie eine Tiefen- und Confidence-Karte. Dadurch kann eine App im Nachhinein verschiedenste Anpassungen am Bild vornehmen. Manuell angepasste Bokeh- und Blur-Effekte für die Fotobearbeitung sind genauso denkbar wie das Erstellen eines 3D-Bildes oder Augmented-Reality-Fotografie.

In Android Q erhaltet ihr – wenn möglich – Tiefeninformationen zu euren Fotos. (Bilder: Google)
Neben einigen weiteren Änderungen unterstützt Android Q zudem zusätzliche Audio- und Video-Codecs. Darunter AV1 und HDR10+ für Videos und Opus für Audioinhalte. Alle Details zur ersten Beta-Version von Android Q hat Google auch im Developer-Blog veröffentlicht. In der Android-Dokumentation findet ihr außerdem eine kurze Anleitung für die Migration eurer App zu Android Q. Nach fünf weiteren geplanten Beta-Versionen wird das finale Android Q wohl im dritten Quartal 2019 erscheinen.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team