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 kannst du deine 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 des Mehrfenstermodus auf und erweitert das Multitasking über App-Fenster hinweg und bietet Bildschirmkontinuität, damit der App-Status auch dann erhalten bleibt, wenn das Gerät auf- oder zugeklappt 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. Damit du Apps für faltbare Geräte entwickeln kannst, kannst du in Android Studio einen Emulator für faltbare Geräte 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 geringere Latenzzeiten. Android 10 unterstützt 5G-Plattformen und erweitert vorhandene APIs, damit Sie diese Verbesserungen optimal 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

Android 10 nutzt ML auf dem Gerät, um Kontextaktionen in Benachrichtigungen vorzuschlagen, z. B. intelligente Antworten auf 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 sich ideal für Situationen mit wenig Licht eignet 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 System-UI in den dunklen Modus versetzt und das dunkle Design aktiviert. Du kannst ein benutzerdefiniertes dunkles Design für deine App erstellen oder die neue Funktion „Dunkles Design erzwingen“ aktivieren, mit der das System dynamisch eine dunkle Version aus deinem vorhandenen Design erstellen kann. Sie können auch die Tag-/Nachtmodusfunktion 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.

Mit Android 10 wird ein vollständig Gesten-Navigationsmodus eingeführt, der den Bereich der Navigationsleiste verschwindet und es Apps ermöglicht, den gesamten Bildschirm zu nutzen, um eine umfassendere, immersivere Nutzung zu bieten. Die vertraute Navigation über die Optionen „Zurück“, „Startbildschirm“ und „Letzte“ wird 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

Mit der neuen 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 lokaler Netzwerke) und Mobilfunkdaten anzeigen. Wenn Sie ein Einstellungsfeld anzeigen möchten, lösen Sie einfach einen Intent mit einer der neuen Settings.Panel-Aktionen aus.

Tastenkombinationen zum Teilen

Durch das Teilen von Verknüpfungen wird das Teilen von Inhalten schneller und einfacher, da Nutzer direkt zu einer anderen App wechseln können, 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 Funktion „Teilen von Kurzbefehlen“ ähnelt 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 Verknüpfungen zum Teilen können Nutzer direkt zu einer bestimmten Aktivität in Ihren Apps mit angehängten Inhalten springen.

Datenschutz für Nutzer

Datenschutz steht bei Android 10 im Mittelpunkt – angefangen bei stärkeren Schutzmaßnahmen auf der Plattform bis hin zu neuen Funktionen, bei denen der Datenschutz im Mittelpunkt steht. Aufbauend auf früheren Versionen enthält Android 10 umfangreiche Änderungen, um den Datenschutz zu schützen und Nutzern mehr Kontrolle zu geben. Dazu gehören eine verbesserte System-UI, strengere Berechtigungen und Einschränkungen für die Datennutzung 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 den Zugriff auf den Standort gewähren, wenn die App im Vordergrund ausgeführt wird.

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 tatsächlich 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.

Standortdaten bei Netzwerkscans schützen: Für die meisten APIs zum Scannen von Netzwerken war bereits die Berechtigung zur ungefähren Standortermittlung erforderlich. Android 10 erhöht den Schutz dieser APIs, da stattdessen die detaillierte Berechtigung zur Standortermittlung erforderlich ist.

Geräte-Tracking verhindern: 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 App-Starts im Hintergrund, 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.

Verbessertes biometrisches Verfahren: Android 10 erweitert das Framework BiometricPrompt, um passive Authentifizierungsmethoden wie das Gesicht zu unterstützen und implizite und explizite Authentifizierungsabläufe hinzuzufügen. 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. Außerdem wurde unter Android 10 der Fallback für Geräteanmeldedaten 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 Tiefenelementen 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 lassen sich nicht nur Untertitel erstellen, sondern auch gängige Anwendungsfälle wie das Livestreaming von Spielen unterstützen. Bei der Entwicklung dieser neuen Funktion haben wir den Datenschutz und den Urheberrechtsschutz berücksichtigt. Die Möglichkeit, den Ton einer anderen App aufzunehmen, ist bei dieser neuen Funktion eingeschränkt. Apps können also nur eingeschränkt steuern, ob ihre Audiostreams aufgezeichnet werden. 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, sowie HDR10+ für High Dynamic Range-Videos auf Geräten, die diese Funktion unterstützen. Die MediaCodecInfo API bietet eine einfachere Möglichkeit, die Video-Rendering-Funktionen eines Android-Geräts zu ermitteln. 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 mit Android 10 eine native MIDI API eingeführt, um mit MIDI-Geräten über das NDK zu kommunizieren. Diese API ermöglicht das Abrufen von MIDI-Daten innerhalb eines Audio-Callbacks mithilfe eines nicht blockierenden Lesevorgangs, wodurch eine Verarbeitung von MIDI-Nachrichten mit niedriger Latenz ermöglicht wird. Sie können die Beispiel-App und den Quellcode ausprobieren.

Richtmikrofone mit Zoomfunktion

Unter Android 10 hast du dank der neuen Mikrofonrichtung API mehr Kontrolle über Audioaufnahmen. Mit der API können Sie eine bevorzugte Mikrofonrichtung festlegen, wenn Sie eine Audioaufnahme aufnehmen. 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. Die Unterstützung von Vulkanen in der Umgebung hat sich bereits deutlich erhöht: Von Geräten mit Android N oder höher unterstützen 53 % 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 umgestaltet, um Datenschutz und Leistung zu verbessern und gängige Anwendungsfälle wie die Verwaltung von IoT-Geräten und das Vorschlagen von Internetverbindungen zu verbessern, ohne dass die Berechtigung zur 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. Über die APIs für Netzwerkvorschläge können Apps dem Nutzer 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äte-Firmware zusammen, um die Anforderung mit dem niedrigsten Stromverbrauch 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 die Garbage Collection der ART (Concurrent Copying, CC) um die Generational Garbage Collection erweitert, um die Garbage Collection in Bezug auf Zeit und CPU effizienter zu gestalten, Ruckler zu reduzieren und die Leistung von Apps auf leistungsschwächeren Geräten zu verbessern.

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 übertragen.

Android 10 ist auch die erste Version, die Project Mainline (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.