Android 10 für Entwickler

Android 10 basiert auf drei wichtigen Themen. Erstens: Android 10 ist mit erweitertem maschinellem Lernen und Unterstützung für neue Geräte wie faltbare Smartphones und 5G-fähige Smartphones die Spitze der mobilen Innovation. Bei Android 10 liegt der Schwerpunkt auf Datenschutz und Sicherheit. Mit fast 50 Funktionen erhalten Nutzer mehr Schutz, Transparenz und Kontrolle. Außerdem werden in Android 10 die Digital Wellbeing-Einstellungen der Nutzer erweitert, damit Einzelpersonen und Familien ein besseres Gleichgewicht im Umgang mit Technologie finden können.

Hier finden Sie einen Überblick über die Funktionen von Android 10 für Entwickler und wie Sie sie bereits jetzt nutzen können.

Innovation und neue Erfahrungen

Mit Android 10 können Sie die neuesten Hardware- und Softwareinnovationen nutzen, um beeindruckende Apps für Nutzer zu entwickeln.

Mit Android 10 können Sie Ihre Apps für faltbare Geräte und andere Geräte mit großem Display optimieren.

Faltbare Smartphones / Tablets

Android 10 baut auf der robusten Unterstützung für mehrere Fenster auf und erweitert das Multitasking auf App-Fenster. Außerdem wird die Bildschirmkontinuität beibehalten, damit der App-Status erhalten bleibt, wenn das Gerät zusammengeklappt oder aufgeklappt wird. Android 10 bietet eine Reihe von Verbesserungen bei onResume und onPause, um die Wiederaufnahme mehrerer Apps zu unterstützen und Ihre App zu benachrichtigen, wenn sie den Fokus hat. Außerdem wird die Funktionsweise des Manifestattributs resizeableActivity geändert, damit Sie besser verwalten können, wie Ihre App auf faltbaren und großen Bildschirmen angezeigt wird. Wenn Sie Apps für faltbare Geräte entwickeln möchten, können Sie in Android Studio einen faltbaren Emulator als virtuelles Gerät (AVD) konfigurieren. Weitere Informationen zum Optimieren Ihrer Apps für faltbare Geräte finden Sie im Entwicklerleitfaden.

5G-Netze

5G verspricht durchgängig höhere Geschwindigkeiten und eine geringere Latenz. Android 10 bietet Plattformunterstützung für 5G und erweitert vorhandene APIs, damit Sie diese Verbesserungen nutzen können. Mithilfe von Konnektivitäts-APIs kannst du feststellen, ob das Gerät eine Verbindung mit hoher Bandbreite hat und ob die Verbindung getaktet ist. So können Sie Ihre Apps und Spiele für Nutzer mit 5G optimieren und ihnen ein umfassendes, immersives Erlebnis bieten.

„Intelligente Antwort“ in Benachrichtigungen

In Android 10 werden kontextbezogene Aktionen in Benachrichtigungen vorgeschlagen, z. B. intelligente Antworten für Nachrichten oder das Öffnen einer Karte für eine Adresse in der Benachrichtigung. Ihre Apps können diese Funktion sofort nutzen, ohne dass Sie etwas unternehmen müssen. Vom System bereitgestellte intelligente Antworten und Aktionen werden standardmäßig direkt in Benachrichtigungen eingefügt. Sie können aber weiterhin eigene Antworten und Aktionen angeben. Sie können die Funktion „Intelligente Antwort“ für einzelne Benachrichtigungen deaktivieren, indem Sie setAllowGeneratedReplies() und setAllowSystemGeneratedContextualActions() verwenden.

Die Funktion „Intelligente Antwort“ kann basierend auf dem Inhalt von Benachrichtigungen Aktionen vorschlagen.

Dunkles Design

Android 10 bietet ein systemweites dunkles Design, das ideal für Umgebungen mit wenig Licht ist und den Akku schont. Nutzer können ein neues systemweites dunkles Design aktivieren, indem sie die Einstellungen aufrufen oder den Energiesparmodus aktivieren. Dadurch wird die Systemoberfläche dunkel und das dunkle Design von Apps aktiviert, die dies unterstützen. Sie können ein benutzerdefiniertes dunkles Design für Ihre App erstellen oder die neue Funktion „Dunkles Design erzwingen“ aktivieren, mit der das System dynamisch eine dunkle Version aus Ihrem vorhandenen Design erstellt. Sie können auch die Tag-/Nachtfunktion von AppCompat nutzen, um Nutzern mit älteren Android-Versionen ein dunkles Design anzubieten. Weitere Informationen finden Sie im Entwicklerleitfaden.

Unter Android 10 kann mit „Dunkles Design erzwingen“ ein dunkles Design für Ihre App dynamisch erstellt werden.

Bedienung über Gesten

Bei der Gestennavigation können Apps den gesamten Bildschirm für Inhalte nutzen.

Android 10 führt einen vollständigen Gestennavigationsmodus ein, der den Navigationsbereich eliminiert und es Apps ermöglicht, den Vollbildmodus zu nutzen, um ein umfassenderes, immersiveres Erlebnis zu bieten. Die bekannten Navigationselemente „Zurück“, „Startbildschirm“ und „Letzte“ werden durch Wischen am Bildschirmrand statt durch sichtbare Schaltflächen ersetzt. Damit die Navigation per Geste nahtlos funktioniert, sollten Sie die Navigationsleiste über den gesamten Bildschirm ziehen. Dazu sollten Apps die API setSystemUiVisibility() verwenden, um den Vollbildmodus zu aktivieren, und dann die WindowInsets entsprechend verwalten, damit wichtige Elemente der Benutzeroberfläche nicht verdeckt werden. Optimieren Sie Ihre App noch heute. Weitere Informationen finden Sie in unserer Blogpost-Reihe.

Steuerfelder

Über die neue Settings Panel API können Sie wichtige Systemeinstellungen jetzt direkt im Kontext Ihrer App anzeigen. Ein Steuerfeld für Einstellungen ist eine schwebende Benutzeroberfläche, mit der Sie Einstellungen anzeigen, die Nutzer benötigen könnten, z. B. Internetverbindung, NFC und Audiolautstärke. Ein Browser könnte beispielsweise einen Bereich mit Verbindungseinstellungen wie Flugmodus, WLAN (einschließlich Netzwerke in der Nähe) und Mobilfunkdaten anzeigen. Wenn Sie ein Einstellungsfeld anzeigen möchten, lösen Sie einfach einen Intent mit einer der neuen Settings.Panel-Aktionen aus.

Kurzbefehle zum Teilen

Mit Freigabe-Tasten lassen sich Inhalte schneller und einfacher teilen. Nutzer können direkt zu einer anderen App wechseln, um Inhalte zu teilen. Entwickler können Freigabeziele veröffentlichen, die eine bestimmte Aktivität in ihren Apps mit angehängten Inhalten starten. Diese werden Nutzern in der Freigabeoberfläche angezeigt. Da sie im Voraus veröffentlicht werden, wird die Freigabeoberfläche beim Starten sofort geladen. Die Freigabe von Kurzbefehlen ähnelt der von App-Verknüpfungen und verwendet dieselbe ShortcutInfo API. Die API wird auch in der ShareTarget AndroidX-Bibliothek unterstützt. Weitere Informationen finden Sie in der Beispiel-App.

Über die Freigabe-Verknüpfungen können Nutzer direkt zu einer bestimmten Aktivität in Ihren Apps mit angehängten Inhalten springen.

Datenschutz für Nutzer

Der Datenschutz steht bei Android 10 im Mittelpunkt. Das reicht von stärkeren Schutzmaßnahmen auf der Plattform bis hin zu neuen Funktionen, die speziell auf den Datenschutz ausgerichtet sind. Android 10 baut auf früheren Versionen auf und enthält umfangreiche Änderungen zum Schutz des Datenschutzes und zur Verbesserung der Nutzerfreundlichkeit. Dazu gehören eine optimierte Systemoberfläche, strengere Berechtigungen und Einschränkungen bei der Verwendung von Daten durch Apps. Weitere Informationen dazu, wie Sie diese in Ihren Apps unterstützen können, finden Sie in den Änderungen beim Datenschutz.

Nutzer können jetzt festlegen, dass der Zugriff auf den Standort nur gewährt wird, wenn die App im Vordergrund ist.

Mehr Kontrolle über Standortdaten für Nutzer: Nutzer haben dank einer neuen Berechtigungsoption mehr Kontrolle über ihre Standortdaten. Sie können einer App jetzt nur dann Zugriff auf den Standort gewähren, wenn sie aktiv verwendet wird (im Vordergrund ausgeführt wird). Für die meisten Apps ist dies ein ausreichender Zugriff, während für Nutzer die Transparenz und Kontrolle deutlich verbessert wird. Weitere Informationen zu Standortänderungen finden Sie im Entwicklerleitfaden und in unserem Blogpost.

Schutz von Standortdaten bei Netzwerkscans: Für die meisten APIs zum Scannen von Netzwerken war bereits die Berechtigung für die grobe Standortermittlung erforderlich. Unter Android 10 wird der Schutz dieser APIs erhöht, da anstelle der Berechtigung „Standortermittlung“ die Berechtigung „Standortgenauigkeit“ erforderlich ist.

Verhinderung des Geräte-Trackings: Apps können nicht mehr auf nicht zurücksetzbare Geräte-IDs zugreifen, die für das Tracking verwendet werden könnten, einschließlich der Geräte-IMEI, der Seriennummer und ähnlicher Kennungen. Die MAC-Adresse des Geräts wird auch standardmäßig zufällig generiert, wenn eine Verbindung zu WLANs besteht. In den Best Practices finden Sie Informationen zur Auswahl der richtigen IDs für Ihren Anwendungsfall. Hier finden Sie weitere Details.

Nutzerdaten im externen Speicher schützen: Android 10 führt eine Reihe von Änderungen ein, die Nutzern mehr Kontrolle über Dateien im externen Speicher und die darin enthaltenen App-Daten geben. Apps können ihre eigenen Dateien in ihren privaten Sandboxes speichern, müssen aber den MediaStore verwenden, um auf freigegebene Mediendateien zuzugreifen, und die Systemdateiauswahl, um auf freigegebene Dateien in der neuen Downloads-Sammlung zuzugreifen. Weitere Informationen

Unerwünschte Unterbrechungen blockieren: Android 10 verhindert, dass Apps im Hintergrund gestartet werden, die unerwartet in den Vordergrund springen und den Fokus von einer anderen App übernehmen. Weitere Informationen

Sicherheit

Android 10 bietet eine Reihe von Funktionen, die Nutzer durch Fortschritte bei Verschlüsselung, Plattformhärtung und Authentifizierung besser schützen. Weitere Informationen zu Sicherheitsupdates für Android 10

Speicherverschlüsselung: Alle kompatiblen Geräte, die mit Android 10 auf den Markt kommen, müssen Nutzerdaten verschlüsseln. Um dies effizienter zu gestalten, enthält Android 10 Adiantum, unseren neuen Verschlüsselungsmodus.

TLS 1.3 standardmäßig: In Android 10 ist auch TLS 1.3 standardmäßig aktiviert. Das ist eine wichtige Überarbeitung des TLS-Standards mit Leistungsvorteilen und erhöhter Sicherheit.

Plattformhärtung: Android 10 enthält auch Härtungsmaßnahmen für mehrere sicherheitskritische Bereiche der Plattform.

Verbesserte biometrische Authentifizierung: Android 10 erweitert das BiometricPrompt-Framework, um passive Authentifizierungsmethoden wie die Gesichtserkennung zu unterstützen. Außerdem werden implizite und explizite Authentifizierungsabläufe hinzugefügt. Beim expliziten Ablauf muss der Nutzer die Transaktion während der Authentifizierung explizit im TEE bestätigen. Der implizite Ablauf ist eine schlankere Alternative für Transaktionen mit passiver Authentifizierung. Unter Android 10 wird außerdem der Fallback für Geräteanmeldedaten bei Bedarf verbessert. Weitere Informationen

Kamera und Medien

Dynamische Tiefenschärfe für Fotos

Apps können jetzt ein dynamisches Tiefenbild anfordern, das aus einem JPEG, XMP-Metadaten zu elementen mit Tiefenbezug und einer Tiefen- und Zuverlässigkeitskarte besteht, die in derselben Datei eingebettet sind. So können Sie in Ihrer App spezielle Unkenntlichmachungen und Bokeh-Optionen anbieten. Dynamische Tiefenschärfe ist ein offenes Format für das Android-Ökosystem. Wir arbeiten mit unseren Partnern zusammen, um es auf Geräten mit Android 10 und höher einzuführen.

Mit dem dynamischen Tiefenbild können Sie in Ihrer App spezielle Unkenntlichmachungen und Bokeh-Optionen anbieten.

Audiowiedergabe erfassen

Mit der neuen API zur Erfassung der Audiowiedergabe können jetzt alle Apps, die Audio abspielen, anderen Apps ihren Audiostream zur Verfügung stellen. Mit der API kannst du nicht nur Untertitel und Untertitelungen aktivieren, sondern auch beliebte Anwendungsfälle wie das Live-Streaming von Spielen unterstützen. Bei der Entwicklung dieser neuen Funktion haben wir den Datenschutz und den Schutz des Urheberrechts berücksichtigt. Daher ist die Möglichkeit für eine App, Audioinhalte einer anderen App aufzunehmen, eingeschränkt. Apps haben volle Kontrolle darüber, ob ihre Audiostreams aufgezeichnet werden können. Weitere Informationen finden Sie in diesem Blogpost.

Neue Audio- und Videocodecs

Android 10 unterstützt den Open-Source-Videocodec AV1. Damit können Medienanbieter hochwertige Videoinhalte mit weniger Bandbreite auf Android-Geräte streamen. Außerdem unterstützt Android 10 die Audiocodierung mit Opus, einem offenen, lizenzfreien Codec, der für Sprach- und Musikstreaming optimiert ist, und HDR10+ für High Dynamic Range-Videos auf Geräten, die diese Funktion unterstützen. Mit der MediaCodecInfo API lässt sich einfacher ermitteln, welche Video-Rendering-Funktionen ein Android-Gerät bietet. Für jeden Codec kannst du eine Liste der unterstützten Größen und Frameraten abrufen.

Native MIDI API

Für Apps, die die Audioverarbeitung in C++ ausführen, wird in Android 10 eine native MIDI API eingeführt, um über das NDK mit MIDI-Geräten zu kommunizieren. Mit dieser API können MIDI-Daten in einem Audio-Callback mithilfe einer nicht blockierenden Lesefunktion abgerufen werden, was eine Verarbeitung von MIDI-Nachrichten mit geringer Latenz ermöglicht. Probieren Sie es mit der Beispielanwendung und dem Quellcode aus.

Richtmikrofone mit Zoomfunktion

Mit Android 10 haben Sie über die neue MicrophoneDirection API mehr Kontrolle über die Audioaufnahme. Sie können mit der API eine bevorzugte Richtung des Mikrofons für die Audioaufnahme angeben. Wenn der Nutzer beispielsweise ein Selfie-Video aufnimmt, können Sie das Mikrofon auf der Vorderseite für die Audioaufnahme anfordern (falls vorhanden). Außerdem bietet diese API eine standardisierte Möglichkeit zur Steuerung von zoombaren Mikrofonen, sodass Ihre App die Aufnahmefelddimension steuern kann.

Vulkan überall

Android 10 erweitert die Auswirkungen von Vulkan durch die Implementierung der plattformübergreifenden API mit geringem Overhead für leistungsstarke 3D-Grafiken. Vulkan 1.1 ist jetzt für alle 64-Bit-Geräte mit Android 10 und höher erforderlich und wird für alle 32-Bit-Geräte empfohlen. Wir sehen bereits einen deutlichen Aufwärtstrend bei der Vulkan-Unterstützung im Android-Ökosystem: 53 % der Geräte mit Android N oder höher unterstützen Vulkan 1.0.3 oder höher. Mit der neuen Anforderung in Android 10 gehen wir davon aus, dass die Akzeptanz im kommenden Jahr weiter steigen wird.

Konnektivität

Verbesserte Peer-to-Peer- und Internetverbindung

Wir haben den WLAN-Stack neu strukturiert, um den Datenschutz und die Leistung zu verbessern und auch gängige Anwendungsfälle wie die Verwaltung von IoT-Geräten und das Vorschlagen von Internetverbindungen zu verbessern – ohne dass die Berechtigung „Standortermittlung“ erforderlich ist. Mit den Netzwerkverbindungs-APIs lassen sich IoT-Geräte über lokales WLAN einfacher verwalten, z. B. für Peer-to-Peer-Funktionen wie Konfigurieren, Herunterladen oder Drucken. Mit den Netzwerkvorschlag-APIs können Apps Nutzern bevorzugte WLANs für die Internetverbindung anzeigen.

WLAN-Leistungsmodi

Apps können jetzt adaptives WLAN anfordern, indem sie die Modi für hohe Leistung und niedrige Latenz aktivieren. Sie können ein großer Vorteil sein, wenn eine geringe Latenz für die Nutzerfreundlichkeit wichtig ist, z. B. bei Echtzeitspielen, aktiven Sprachanrufen und ähnlichen Anwendungsfällen. Die Plattform arbeitet mit der Gerätefirmware zusammen, um die Anforderung mit dem geringsten Energieverbrauch zu erfüllen. Wenn Sie die neuen Leistungsmodi verwenden möchten, rufen Sie WifiManager.WifiLock.createWifiLock() mit WIFI_MODE_FULL_LOW_LATENCY oder WIFI_MODE_FULL_HIGH_PERF auf. In diesen Modi arbeitet die Plattform mit der Gerätefirmware zusammen, um die Anforderungen mit dem geringsten Energieverbrauch zu erfüllen.

Android-Grundlagen

ART-Optimierungen

Durch Verbesserungen an der ART-Laufzeit starten Ihre Apps schneller, verbrauchen weniger Arbeitsspeicher und laufen flüssiger – ganz ohne Zutun Ihrerseits. Mit ART-Profilen, die von Google Play bereitgestellt werden, kann ART Teile Ihrer App bereits vor der Ausführung vorkompilieren. Bei der Laufzeit wird in Android 10 der Garbage Collector für die gleichzeitige Kopie (Concurrent Copying, CC) von ART um die generative Garbage Collection erweitert. Dadurch wird die Garbage Collection in Bezug auf Zeit und CPU effizienter, Ruckler werden reduziert und Apps laufen auf leistungsschwächeren Geräten besser.

Dieses Diagramm zeigt die prozentuale Verbesserung der Startzeit für bestimmte Apps, die mit Play-Profilen getestet wurden.

Neural Networks API 1.2

Wir haben 60 neue Operatoren hinzugefügt, darunter ARGMAX, ARGMIN und quantisierte LSTMs, sowie eine Reihe von Leistungsoptimierungen. Dies bildet die Grundlage für die Beschleunigung einer viel größeren Bandbreite von Modellen, z. B. für die Objekterkennung und Bildsegmentierung. Wir arbeiten mit Hardwareanbietern und gängigen Frameworks für maschinelles Lernen wie TensorFlow zusammen, um die Unterstützung für NNAPI 1.2 zu optimieren und einzuführen.

Thermal API

Wenn Geräte zu heiß werden, wird die CPU und/oder GPU möglicherweise gedrosselt. Das kann sich auf unerwartete Weise auf Apps und Spiele auswirken. Unter Android 10 können Apps und Spiele eine Thermo-API verwenden, um Änderungen am Gerät zu überwachen und Maßnahmen zu ergreifen, um die normale Temperatur wiederherzustellen. Beispielsweise können Streaming-Apps die Auflösung/Bitrate oder den Netzwerkverkehr reduzieren, eine Kamera-App den Blitz oder intensive Bildverbesserungen deaktivieren oder ein Spiel die Framerate oder Polygon-Tessellation verringern. Weitere Informationen

Kompatibilität über öffentliche APIs

In Android 10 werden die Einschränkungen für Nicht-SDK-Schnittstellen weiter ausgeweitet, damit Apps nach und nach nur noch öffentliche APIs verwenden. Wenn eine aktuell von Ihnen verwendete Schnittstelle eingeschränkt ist, können Sie stattdessen eine neue öffentliche API für diese Schnittstelle anfordern. Damit Sie die Umstellung reibungslos vornehmen und Funktionsstörungen Ihrer Apps vermeiden können, aktivieren wir die Einschränkungen nur, wenn Ihre App auf Android 10 (API 29) ausgerichtet ist. Weitere Informationen zu den Einschränkungen finden Sie im Entwicklerleitfaden.

Schnellere Updates, aktuellerer Code

Android 10 wurde für schnellere Updates mit Project Treble entwickelt. Diese Funktion bietet eine einheitliche, testbare Schnittstelle zwischen Android und dem zugrunde liegenden Gerätecode von Geräteherstellern und Chipherstellern. Mit Treble können Gerätehersteller Android 10 schneller und kostengünstiger auf Treble-kompatible Geräte bringen.

Android 10 ist auch die erste Version, die Project Mainstream (offiziell Google Play-Systemupdates) unterstützt. Das ist unsere neue Technologie, mit der Android-Nutzer geschützt und ihre Geräte mit wichtigen Codeänderungen direkt über Google Play auf dem neuesten Stand gehalten werden. Mit Google Play-Systemupdates können wir bestimmte interne Komponenten auf allen Geräten mit Android 10 und höher aktualisieren, ohne dass ein vollständiges Systemupdate vom Gerätehersteller erforderlich ist.

Wir gehen davon aus, dass diese Updates in Android 10 die Konsistenz der Plattformimplementierung auf vielen Geräten verbessern und im Laufe der Zeit zu mehr Einheitlichkeit führen, was Ihre Entwicklungs- und Testaufwand senkt.

Erste Schritte

Vollständige Entwicklerressourcen für Android 10 finden Sie unter developer.android.com/10.