Android 10 für Entwickler

Android 10 basiert auf drei wichtigen Themen. Erstens ist Android 10 mit fortschrittlichem maschinellem Lernen und Unterstützung für neue Geräte wie faltbare Smartphones und 5G-fähige Smartphones eine Vorreiterrolle bei mobilen Innovationen. Bei Android 10 stehen Datenschutz und Sicherheit im Mittelpunkt – mit fast 50 Funktionen, die Nutzern mehr Schutz, Transparenz und Kontrolle bieten. Darüber hinaus erweitert Android 10 die Digital Wellbeing-Einstellungen der Nutzer, sodass Einzelpersonen und Familien ein besseres Gleichgewicht zu Technologie finden können.

Hier erfährst du, was Android 10 für Entwickler bietet und wie du es noch heute nutzen kannst.

Innovation und neue Erlebnisse

Mit Android 10 kannst du die neuesten Hardware- und Softwareinnovationen nutzen, um tolle Apps für deine Nutzer zu schaffen.

Mit Android 10 kannst du deine Apps für faltbare Smartphones und andere Geräte mit großen Bildschirmen optimieren.

Faltbare Smartphones / Tablets

Android 10 baut auf einer robusten Unterstützung für den Mehrfenstermodus auf und erweitert das Multitasking über mehrere App-Fenster hinweg. Die Bildschirmkontinuität ermöglicht es, den App-Status beizubehalten, wenn das Gerät auf- oder zugeklappt wird. Unter Android 10 wurden eine Reihe von Verbesserungen in onResume und onPause hinzugefügt, um die Multi-Fortsetzens zu unterstützen und deine App zu benachrichtigen, wenn sie im Fokus ist. Außerdem wird dadurch die Funktionsweise des Manifestattributs resizeableActivity geändert, damit Sie besser steuern können, wie Ihre App auf faltbaren und großen Bildschirmen angezeigt wird. Um die Entwicklung für faltbare Geräte zu erleichtern, können Sie in Android Studio einen faltbaren Emulator als virtuelles Gerät (AVD) konfigurieren. Weitere Informationen zur Optimierung deiner Apps für faltbare Smartphones findest du im Entwicklerleitfaden.

5G-Netze

5G verspricht, konstant höhere Geschwindigkeiten und geringere Latenzzeiten zu bieten. Android 10 unterstützt 5G außerdem auf der Plattform und erweitert bestehende APIs, damit ihr von diesen Verbesserungen profitieren könnt. Mit Verbindungs-APIs können Sie feststellen, ob das Gerät eine Verbindung mit hoher Bandbreite hat, und prüfen, ob die Verbindung gemessen wird. Damit können Ihre Apps und Spiele Nutzern über 5G ein umfassendes, immersives Erlebnis bieten.

Intelligente Antwort in Benachrichtigungen

Android 10 nutzt maschinelles Lernen auf dem Gerät, um kontextbezogene Aktionen in Benachrichtigungen vorzuschlagen, z. B. intelligente Antworten auf Nachrichten oder das Öffnen einer Karte für eine Adresse in der Benachrichtigung. Ihre Anwendungen 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 weiterhin Ihre eigenen Antworten und Aktionen bereitstellen. Sie können intelligente Antworten einfach für jede Benachrichtigung mithilfe von setAllowGeneratedReplies() und setAllowSystemGeneratedContextualActions() deaktivieren.

„Intelligente Antwort“ kann basierend auf dem Inhalt der Benachrichtigungen Aktionen vorschlagen.

Dunkles Design

Android 10 bietet ein systemweites dunkles Design, das sich ideal bei schwachem 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 geändert 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 erstellen kann. Sie können auch die DayNight-Funktion von AppCompat nutzen, um ein dunkles Design für Nutzer früherer Android-Versionen anzubieten. Weitere Informationen findest du im Entwicklerleitfaden.

Android 10 kann mit der Funktion „Dunkles Design erzwingen“ dynamisch ein dunkles Design für deine App erstellen.

Bedienung über Gesten

Bei der Bedienung über Gesten werden Inhalte in Apps im Vollbildmodus angezeigt.

Mit Android 10 wird ein Navigationsmodus mit Gesten eingeführt, der den Navigationsleistenbereich überflüssig macht und es Apps ermöglicht, den Vollbildmodus zu nutzen, um intensivere und immersivere Funktionen zu bieten. Dabei werden die bekannten Funktionen „Zurück“, „Startseite“ und „Letzte“ durch Wischen am Rand und nicht durch sichtbare Schaltflächen unterstützt. Um eine nahtlose Integration mit der Bedienung über Gesten zu ermöglichen, sollten Sie von Rand zu Rand gehen und hinter die Navigationsleiste zeichnen, um ein immersives Erlebnis zu schaffen. Um dies zu implementieren, sollten Apps die setSystemUi visibility() API verwenden, um das Layout im Vollbildmodus zu erstellen, und dann WindowInsets entsprechend verarbeiten, um sicherzustellen, dass wichtige Teile der Benutzeroberfläche nicht verdeckt werden. Beginnen Sie noch heute mit der Optimierung Ihrer App. Weitere Informationen finden Sie in unserer Blogpost-Reihe.

Steuerfelder für Einstellungen

Über eine neue Settings Panel API können Sie jetzt wichtige Systemeinstellungen direkt im Kontext Ihrer App anzeigen lassen. Ein Einstellungsbereich ist eine unverankerte UI, die Sie aufrufen, um Einstellungen anzuzeigen, die Nutzer möglicherweise benötigen, z. B. Internetverbindung, NFC und Audiolautstärke. Ein Browser könnte beispielsweise ein Steuerfeld mit Verbindungseinstellungen wie Flugmodus, WLAN (einschließlich Netzwerke in der Nähe) und mobile Daten anzeigen. Damit ein Einstellungsbereich angezeigt wird, lösen Sie einfach einen Intent mit einer der neuen Settings.Panel-Aktionen aus.

Kurzbefehle zum Teilen

Mit Freigabeverknüpfungen lassen sich Inhalte schneller und einfacher teilen, da Nutzer direkt zu einer anderen App springen 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 Ziele werden Nutzern auf der Freigabe-UI angezeigt. Da sie im Voraus veröffentlicht werden, wird die Freigabe-UI sofort nach dem Start geladen. Das Teilen von Verknüpfungen ähnelt dem für App-Verknüpfungen und verwendet dieselbe ShortcutInfo API. Die API wird auch in der ShareTarget AndroidX-Bibliothek unterstützt. Weitere Informationen findest du in der Beispiel-App.

Über Freigabeverknüpfungen 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 – von stärkeren Schutzfunktionen auf der Plattform bis hin zu neuen Funktionen, die speziell für den Datenschutz entwickelt wurden. Aufbauend auf früheren Releases beinhaltet Android 10 umfassende Änderungen, um die Privatsphäre zu schützen und Nutzern mehr Kontrolle zu bieten. Dazu gehören eine verbesserte System-UI, strengere Berechtigungen und Einschränkungen für die Nutzung von Daten durch Apps. Weitere Informationen zur Unterstützung in Ihren Apps 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: Nutzer haben durch eine neue Berechtigungsoption mehr Kontrolle über ihre Standortdaten. Sie können einer App jetzt nur erlauben, auf den Standort zuzugreifen, während sie tatsächlich verwendet wird (im Vordergrund ausgeführt). Für die meisten Anwendungen bietet dies ein ausreichendes Maß an Zugriff, während es für Nutzer eine erhebliche Verbesserung in Bezug auf Transparenz und Kontrolle bedeutet. Weitere Informationen zu Standortänderungen finden Sie im Entwicklerleitfaden oder in unserem Blogpost.

Standortdaten in Netzwerkscans schützen – Die meisten APIs zum Scannen von Netzwerken erfordern bereits die Berechtigung zur groben Standortermittlung. Android 10 erhöht den Schutz für diese APIs, indem stattdessen eine detaillierte Berechtigung zur Standortermittlung erforderlich ist.

Geräte-Tracking verhindern: Apps können nicht mehr auf nicht rücksetzbare Geräte-IDs wie Geräte-IMEI, Seriennummer und ähnliche Geräte-IDs zugreifen, die für das Tracking verwendet werden könnten. Die MAC-Adresse des Geräts wird standardmäßig auch zufällig ausgewählt, wenn das Gerät mit WLAN-Netzwerken verbunden ist. Lesen Sie die Best Practices zur Auswahl der richtigen IDs für Ihren Anwendungsfall. Details finden Sie hier.

Nutzerdaten in externem Speicher sichern: Mit Android 10 werden eine Reihe von Änderungen eingeführt, um Nutzern mehr Kontrolle über Dateien im externen Speicher und die darin enthaltenen App-Daten zu geben. Anwendungen können ihre eigenen Dateien in ihren privaten Sandboxes speichern, müssen jedoch MediaStore verwenden, um auf freigegebene Mediendateien zuzugreifen, und die Systemdateiauswahl verwenden, um auf freigegebene Dateien in der neuen Sammlung „Downloads“ zuzugreifen. Weitere Informationen

Unerwünschte Unterbrechungen blockieren: Unter Android 10 wird 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 durch Fortschritte bei Verschlüsselung, Plattformhärtung und Authentifizierung für mehr Sicherheit sorgen. Weitere Informationen zu Android 10-Sicherheitsupdates

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

Standardmäßig TLS 1.3: Mit Android 10 wird auch TLS 1.3 standardmäßig aktiviert. Dies ist eine wesentliche Überarbeitung des TLS-Standards mit Leistungsvorteilen und erhöhten Sicherheit.

Plattformhärtung: Android 10 umfasst auch die Härtung für mehrere sicherheitskritische Bereiche der Plattform.

Verbesserte Biometrie: Android 10 erweitert das BiometricPrompt-Framework um passive Authentifizierungsmethoden wie die Gesichtserkennung und das Hinzufügen impliziter und expliziter Authentifizierungsabläufe. Im expliziten Ablauf muss der Nutzer die Transaktion im TEE während der Authentifizierung explizit bestätigen. Der implizite Vorgang ist eine einfachere Alternative für Transaktionen mit passiver Authentifizierung. Android 10 verbessert auch das Fallback für Geräte-Anmeldedaten, falls erforderlich. Weitere Informationen

Kamera und Medien

Dynamische Tiefe für Fotos

Apps können jetzt ein dynamisches Tiefenbild anfordern, das aus JPEG-, XMP-Metadaten zu tiefenbezogenen Elementen und einer in dieselbe Datei eingebetteten Tiefen- und Konfidenzkarte besteht. Damit kannst du spezialisierte Optionen zum Unkenntlichmachen und Bokeh in deiner App anbieten. Dynamic Depth ist ein offenes Format für die Plattform und wir arbeiten mit unseren Partnern daran, es auch auf Geräten mit Android 10 und höher verfügbar zu machen.

Mit der Funktion „Dynamische Tiefenschärfe“ kannst du in deiner App spezielle Weichzeichner- und Bokeh-Optionen anbieten.

Audiowiedergabe-Aufnahme

Jetzt kann jede App, die Audio wiedergeben, anderen Apps ermöglichen, ihren Audiostream mit einer neuen API zur Aufnahme von Audiowiedergaben aufzunehmen. Mit der API lassen sich nicht nur Untertitel aktivieren, sondern auch gängige Anwendungsfälle wie das Livestreaming von Spielen unterstützen. Wir haben diese neue Funktion unter Berücksichtigung des Datenschutzes und des Urheberrechtsschutzes entwickelt, sodass die Möglichkeit für eine App, Audio von einer anderen App aufzunehmen, eingeschränkt ist, sodass Apps die volle Kontrolle darüber haben, ob ihre Audiostreams erfasst werden können. Weitere Informationen finden Sie in diesem Blogpost.

Neue Audio- und Video-Codecs

Android 10 unterstützt jetzt den Open-Source-Video-Codec AV1, mit dem Medienanbieter Videoinhalte in hoher Qualität mit geringerer Bandbreite auf Android-Geräte streamen können. Darüber hinaus unterstützt Android 10 die Audiocodierung mit Opus, einem offenen, lizenzfrei nutzbaren Codec für Sprach- und Musikstreaming, sowie HDR10+ für High Dynamic Range-Videos auf entsprechenden Geräten. Die MediaCodecInfo API bietet eine einfachere Möglichkeit, die Video-Rendering-Funktionen eines Android-Geräts zu bestimmen. Sie können für jeden Codec eine Liste der unterstützten Größen und Framerates abrufen.

Native MIDI API

Für Anwendungen, die ihre Audioverarbeitung in C++ ausführen, wird in Android 10 eine native MIDI API für die Kommunikation mit MIDI-Geräten über den NDK eingeführt. Mit dieser API können MIDI-Daten innerhalb eines Audio-Callbacks mithilfe eines nicht blockierenden Lesevorgangs abgerufen werden, was eine Verarbeitung von MIDI-Nachrichten mit niedriger Latenz ermöglicht. Probieren Sie die Beispiel-App und den Quellcode aus.

Richtwerte, zoombare Mikrofone

Mit Android 10 hast du über die neue MikrofonDirection API mehr Kontrolle über die Audioaufnahme. Bei der Aufnahme einer Audioaufnahme kannst du mit der API die gewünschte Mikrofonrichtung festlegen. Wenn der Nutzer beispielsweise ein Selfie-Video aufnimmt, können Sie das Frontkamera-Mikrofon für die Audioaufnahme anfordern (falls vorhanden). Darüber hinaus bietet diese API eine standardisierte Methode zur Steuerung zoombarer Mikrofone, sodass Ihre App die Kontrolle über die Erfassungsfelddimension hat.

Vulkan überall

Android 10 steigert die Wirkung von Vulkan durch unsere Implementierung der plattformübergreifenden API für leistungsstarke 3D-Grafiken mit geringem Aufwand. Vulkan 1.1 ist jetzt eine Voraussetzung auf allen 64-Bit-Geräten mit Android 10 und höher und eine Empfehlung für alle 32-Bit-Geräte. Die Unterstützung von Vulkan ist bereits sehr aufregend. Unter den Geräten mit Android N oder höher unterstützen 53 % Vulkan 1.0.3 oder höher. Wir gehen davon aus, dass mit der neuen Anforderung in Android 10 die Akzeptanz im kommenden Jahr weiter verbessert wird.

Konnektivität

Verbesserte Peer-to-Peer-Verbindung und Internetverbindung

Wir haben den Wi-Fi-Stack überarbeitet, 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. Die APIs für die Netzwerkverbindung erleichtern die Verwaltung von IoT-Geräten über lokales WLAN für Peer-to-Peer-Funktionen wie Konfigurieren, Herunterladen oder Drucken. Mit den APIs für Netzwerkvorschläge können Apps dem Nutzer bevorzugte WLAN-Netzwerke zur Verfügung stellen, damit er eine Internetverbindung herstellen kann.

WLAN-Leistungsmodi

Apps können jetzt adaptives WLAN anfordern, indem sie Modi für hohe Leistung und niedrige Latenz aktivieren. Dies kann von großem Vorteil sein, wenn eine niedrige Latenz für die Nutzererfahrung wichtig ist, z. B. bei Echtzeitspielen, aktiven Sprachanrufen und ähnlichen Anwendungsfällen. Die Plattform arbeitet mit der Firmware des Geräts zusammen, um die Anforderung mit dem niedrigsten Stromverbrauch zu erfüllen. Rufe WifiManager.WifiLock.createWifiLock() mit WIFI_MODE_FULL_LOW_LATENCY oder WIFI_MODE_FULL_HIGH_PERF auf, um die neuen Leistungsmodi zu verwenden. In diesen Modi arbeitet die Plattform mit der Gerätefirmware, um die Anforderung mit dem geringsten Stromverbrauch zu erfüllen.

Grundlagen von Android

ART-Optimierungen

Verbesserungen der ART-Laufzeit tragen dazu bei, dass Ihre Anwendungen schneller starten, weniger Arbeitsspeicher verbrauchen und reibungsloser ausgeführt werden – ohne dass Sie etwas tun müssen. Mit ART-Profilen, die von Google Play bereitgestellt werden, kann ART Teile Ihrer App bereits vor der Ausführung vorkompilieren. Während der Laufzeit wird die automatische Speicherbereinigung von Android 10 zur automatischen Speicherbereinigung von ART hinzugefügt, um die automatische Speicherbereinigung in Bezug auf Zeit und CPU effizienter zu gestalten, Verzögerungen zu reduzieren und die Ausführung von Apps auf Low-End-Geräten zu verbessern.

Dieses Diagramm zeigt die prozentuale Verbesserung der Startzeit für bestimmte Apps beim Testen mit Play-Profilen.

Neural Networks API 1.2

Wir haben 60 neue Operationen hinzugefügt, darunter ARGMAX, ARGMIN und quantisiertes LSTM sowie eine Reihe von Leistungsoptimierungen. Damit legen Sie den Grundstein für die Beschleunigung einer viel größeren Auswahl von Modellen, etwa denen für die Objekterkennung und Bildsegmentierung. Wir arbeiten mit Hardwareanbietern und beliebten ML-Frameworks wie TensorFlow zusammen, um NNAPI 1.2 zu optimieren und einzuführen.

Thermal API

Wenn Geräte zu warm werden, können sie die CPU und/oder GPU drosseln, was sich auf unerwartete Weise auf Apps und Spiele auswirken kann. In Android 10 können Apps und Spiele jetzt eine Thermal API verwenden, um Änderungen auf dem Gerät zu beobachten und Maßnahmen zur Wiederherstellung der Normaltemperatur zu ergreifen. Beispielsweise können Streaming-Apps die Auflösung/Bitrate oder den Netzwerkverkehr reduzieren, eine Kamera-App könnte die Flash- oder intensive Bildoptimierung deaktivieren oder ein Spiel könnte die Framerate oder Polygontesselation reduzieren. Weitere Informationen

Kompatibilität über öffentliche APIs

Unter Android 10 werden die Einschränkungen für Nicht-SDK-Schnittstellen kontinuierlich erweitert, sodass Apps schrittweise auf nur öffentliche APIs umgestellt werden. Wenn eine derzeit verwendete Schnittstelle eingeschränkt ist, können Sie stattdessen eine neue öffentliche API für diese Schnittstelle anfordern. Um dir den Umstieg zu erleichtern und zu verhindern, dass deine Apps funktionieren, werden die Einschränkungen nur aktiviert, wenn deine App auf Android 10 (API 29) ausgerichtet ist. Weitere Informationen zu den Einschränkungen findest du im Entwicklerleitfaden.

Schnellere Updates, neuerer Code

Android 10 ist für schnellere Updates über Project Treble entwickelt, das eine einheitliche, testbare Schnittstelle zwischen Android und dem zugrunde liegenden Gerätecode von Geräteherstellern und Silikonherstellern bietet. Durch Treble können Gerätehersteller Android 10 schneller und kostengünstiger auf Treble-kompatiblen Geräten bringen.

Android 10 ist auch die erste Version, die Project Mainline (offizieller Name: Google Play-Systemupdates) unterstützt. Diese neue Technologie dient dem Schutz von Android-Nutzern und der Aufrechterhaltung ihrer Geräte durch wichtige Codeänderungen – direkt über Google Play. 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 des Geräteherstellers erforderlich ist.

Für Entwickler gehen wir davon aus, dass diese Updates in Android 10 dazu beitragen, eine einheitliche Plattformimplementierung für alle Geräte zu erreichen und im Laufe der Zeit für eine einheitlichere Implementierung zu sorgen, die die Entwicklungs- und Testkosten senkt.

Erste Schritte

Die vollständigen Entwicklerressourcen für Android 10 findest du unter developer.android.com/10.