Funktionen und APIs

Android 16 bietet viele neue Funktionen und APIs für Entwickler. In den folgenden Abschnitten werden diese Funktionen zusammengefasst, um Ihnen den Einstieg in die zugehörigen APIs zu erleichtern.

Eine detaillierte Liste der neuen, geänderten und entfernten APIs finden Sie im API-Diff-Bericht. Details zu neuen APIs finden Sie in der Android-API-Referenz. Neue APIs sind zur besseren Übersichtlichkeit hervorgehoben.

Sie sollten auch Bereiche prüfen, in denen sich Plattformänderungen auf Ihre Apps auswirken könnten. Weitere Informationen finden Sie auf den folgenden Seiten:

Hauptfunktion

Android umfasst neue APIs, die die Kernfunktionen des Android-Systems erweitern.

Zwei Android-API-Releases im Jahr 2025

  • This preview is for the next major release of Android with a planned launch in Q2 of 2025. This release is similar to all of our API releases in the past, where we can have planned behavior changes that are often tied to a targetSdkVersion.
  • We're planning the major release a quarter earlier (Q2 rather than Q3 in prior years) to better align with the schedule of device launches across our ecosystem, so more devices can get the major release of Android sooner. With the major release coming in Q2, you'll need to do your annual compatibility testing a few months earlier than in previous years to make sure your apps are ready.
  • We plan to have another release in Q4 of 2025 which also will include new developer APIs. The Q2 major release will be the only release in 2025 to include planned behavior changes that could affect apps.

In addition to new developer APIs, the Q4 minor release will pick up feature updates, optimizations, and bug fixes; it will not include any app-impacting behavior changes.

Timeline view of Android releases in 2025, noting that the 25Q2
       release is a major release and the 25Q4 release is a minor release.

We'll continue to have quarterly Android releases. The Q1 and Q3 updates in-between the API releases will provide incremental updates to help ensure continuous quality. We're actively working with our device partners to bring the Q2 release to as many devices as possible.

Using new APIs with major and minor releases

Guarding a code block with a check for API level is done today using the SDK_INT constant with VERSION_CODES. This will continue to be supported for major Android releases.

if (SDK_INT >= VERSION_CODES.BAKLAVA) {
  // Use APIs introduced in Android 16
}

The new SDK_INT_FULL constant can be used for API checks against both major and minor versions with the new VERSION_CODES_FULL enumeration.

if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
  // Use APIs introduced in a major or minor release
}

You can also use the Build.getMinorSdkVersion() method to get just the minor SDK version.

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)

These APIs have not yet been finalized and are subject to change, so please send us feedback if you have any concerns.

Nutzerfreundlichkeit und System-UI

Android 16 bietet App-Entwicklern und Nutzern mehr Kontrolle und Flexibilität bei der Konfiguration ihrer Geräte.

Benachrichtigungen zum Fortschritt

In Android 16 werden nutzungsorientierte Benachrichtigungen eingeführt, mit denen Nutzer den Fortschritt von von ihnen initiierten Abläufen von Anfang bis Ende verfolgen können.

Notification.ProgressStyle ist ein neuer Benachrichtigungsstil, mit dem Sie fortschrittsorientierte Benachrichtigungen erstellen können. Zu den wichtigsten Anwendungsfällen gehören Ridesharing, Lieferservice und Navigation. Innerhalb der Klasse Notification.ProgressStyle können Sie Zustände und Meilensteine in einer User Journey mithilfe von Punkten und Segmenten angeben.

Weitere Informationen finden Sie auf der Dokumentationsseite zu fortschrittsorientierten Benachrichtigungen.

Eine schrittweise Benachrichtigung, die auf dem Sperrbildschirm angezeigt wird.
Eine benachrichtigungsorientierte Benachrichtigung, die in der Benachrichtigungsleiste angezeigt wird.

Updates für die intelligente „Zurück“-Geste

Android 16 adds new APIs to help you enable predictive back system animations in gesture navigation such as the back-to-home animation. Registering the onBackInvokedCallback with the new PRIORITY_SYSTEM_NAVIGATION_OBSERVER allows your app to receive the regular onBackInvoked call whenever the system handles a back navigation without impacting the normal back navigation flow.

Android 16 additionally adds the finishAndRemoveTaskCallback() and moveTaskToBackCallback. By registering these callbacks with the OnBackInvokedDispatcher, the system can trigger specific behaviors and play corresponding ahead-of-time animations when the back gesture is invoked.

Bessere Haptik

Android has exposed control over the haptic actuator ever since its inception.

Android 11 added support for more complex haptic effects that more advanced actuators could support through VibrationEffect.Compositions of device-defined semantic primitives.

Android 16 adds haptic APIs that let apps define the amplitude and frequency curves of a haptic effect while abstracting away differences between device capabilities.

Produktivität von Entwicklern und Tools

Die meisten unserer Bemühungen zur Steigerung Ihrer Produktivität konzentrieren sich auf Tools wie Android Studio, Jetpack Compose und die Android Jetpack-Bibliotheken. Wir suchen aber auch immer nach Möglichkeiten, Sie auf der Plattform zu unterstützen.

Umgang mit Inhalten für Live-Hintergründe

In Android 16 wird das Live-Hintergrund-Framework um eine neue Content API erweitert, um die Herausforderungen dynamischer, von Nutzern erstellter Hintergründe zu meistern. Derzeit erfordern Live-Hintergründe mit von Nutzern bereitgestellten Inhalten komplexe, dienstspezifische Implementierungen. Mit Android 16 werden WallpaperDescription und WallpaperInstance eingeführt. Mit „WallpaperDescription“ können Sie verschiedene Instanzen eines Live-Hintergrunds aus demselben Dienst identifizieren. Ein Hintergrund, der sowohl auf dem Startbildschirm als auch auf dem Sperrbildschirm verwendet wird, kann beispielsweise an beiden Stellen unterschiedliche Inhalte haben. Die Hintergrundauswahl und WallpaperManager verwenden diese Metadaten, um Nutzern Hintergründe besser zu präsentieren. So können Sie ganz einfach vielfältige und personalisierte Live-Hintergründe erstellen.

Leistung und Akku

Mit Android 16 werden APIs eingeführt, mit denen Sie Informationen zu Ihren Apps sammeln können.

Vom System ausgelöstes Profiling

ProfilingManager wurde in Android 15 hinzugefügt. Damit können Apps die Erhebung von Profilierungsdaten mit Perfetto auf öffentlichen Geräten vor Ort anfordern. Da dieses Profiling jedoch von der App gestartet werden muss, können kritische Abläufe wie Starts oder ANRs von Apps nur schwer oder gar nicht erfasst werden.

Dazu wird in Android 16 das systemgetriggerte Profiling für ProfilingManager eingeführt. Apps können angeben, dass sie Protokolle für bestimmte Trigger wie Kaltstarts reportFullyDrawn oder ANRs erhalten möchten. Das System startet und beendet dann im Namen der App ein Protokoll. Nach Abschluss der Aufzeichnung werden die Ergebnisse an das Datenverzeichnis der App gesendet.

Startkomponente in ApplicationStartInfo

ApplicationStartInfo wurde in Android 15 hinzugefügt. Damit können Apps Gründe für den Prozessstart, den Starttyp, Startzeiten, Drosselungen und andere nützliche Diagnosedaten sehen. In Android 16 wird getStartComponent() hinzugefügt, um zu unterscheiden, welcher Komponententyp den Start ausgelöst hat. Das kann hilfreich sein, um den Startvorgang Ihrer App zu optimieren.

Bessere Job-Introspektion

Die JobScheduler#getPendingJobReason() API gibt einen Grund zurück, warum ein Job möglicherweise ausstehend ist. Es kann jedoch mehrere Gründe dafür geben, dass ein Job ausstehend ist.

In Android 16 führen wir die neue API JobScheduler#getPendingJobReasons(int jobId) ein, die mehrere Gründe zurückgibt, warum ein Job aussteht, sowohl aufgrund expliziter Einschränkungen, die vom Entwickler festgelegt wurden, als auch aufgrund impliziter Einschränkungen, die vom System festgelegt wurden.

Außerdem führen wir JobScheduler#getPendingJobReasonsHistory(int jobId) ein, mit dem eine Liste der letzten Änderungen an Einschränkungen zurückgegeben wird.

Wir empfehlen, die API zu verwenden, um herauszufinden, warum Ihre Jobs möglicherweise nicht ausgeführt werden. Das gilt insbesondere, wenn die Erfolgsrate bestimmter Aufgaben sinkt oder es Probleme mit der Latenz bei der Ausführung bestimmter Jobs gibt. Beispielsweise wurde die Aktualisierung von Widgets im Hintergrund nicht durchgeführt oder der Prefetch-Job wurde vor dem Start der App nicht aufgerufen.

So können Sie besser nachvollziehen, ob bestimmte Jobs aufgrund von systemdefinierten oder explizit festgelegten Einschränkungen nicht abgeschlossen werden.

Adaptive Aktualisierungsrate

Adaptive refresh rate (ARR), introduced in Android 15, enables the display refresh rate on supported hardware to adapt to the content frame rate using discrete VSync steps. This reduces power consumption while eliminating the need for potentially jank-inducing mode-switching.

Android 16 introduces hasArrSupport() and getSuggestedFrameRate(int) while restoring getSupportedRefreshRates() to make it easier for your apps to take advantage of ARR. RecyclerView 1.4 internally supports ARR when it is settling from a fling or smooth scroll, and we're continuing our work to add ARR support into more Jetpack libraries. This frame rate article covers many of the APIs you can use to set the frame rate so that your app can directly use ARR.

Headroom-APIs in ADPF

The SystemHealthManager introduces the getCpuHeadroom and getGpuHeadroom APIs, designed to provide games and resource-intensive apps with estimates of available CPU and GPU resources. These methods offer a way for you to gauge how your app or game can best improve system health, particularly when used in conjunction with other Android Dynamic Performance Framework (ADPF) APIs that detect thermal throttling.

By using CpuHeadroomParams and GpuHeadroomParams on supported devices, you can customize the time window used to compute the headroom and select between average or minimum resource availability. This can help you reduce your CPU or GPU resource usage accordingly, leading to better user experiences and improved battery life.

Bedienungshilfen

Mit Android 16 werden neue Accessibility APIs und Funktionen eingeführt, die Ihnen helfen können, Ihre App für alle Nutzer zugänglich zu machen.

Verbesserte APIs für Bedienungshilfen

Android 16 adds additional APIs to enhance UI semantics that help improve consistency for users that rely on accessibility services, such as TalkBack.

Outline text for maximum text contrast

Users with low vision often have reduced contrast sensitivity, making it challenging to distinguish objects from their backgrounds. To help these users, Android 16 introduces outline text, replacing high contrast text, which draws a larger contrasting area around text to greatly improve legibility.

Android 16 contains new AccessibilityManager APIs to let your apps check or register a listener to see if this mode is enabled. This is primarily for UI Toolkits like Compose to offer a similar visual experience. If you maintain a UI Toolkit library or your app performs custom text rendering that bypasses the android.text.Layout class then you can use this to know when outline text is enabled.

Text with enhanced contrast before and after Android 16's new outline text accessibility feature

Duration added to TtsSpan

Android 16 extends TtsSpan with a TYPE_DURATION, consisting of ARG_HOURS, ARG_MINUTES, and ARG_SECONDS. This lets you directly annotate time duration, ensuring accurate and consistent text-to-speech output with services like TalkBack.

Support elements with multiple labels

Android currently allows UI elements to derive their accessibility label from another, and now offers the ability for multiple labels to be associated, a common scenario in web content. By introducing a list-based API within AccessibilityNodeInfo, Android can directly support these multi-label relationships. As part of this change, we've deprecated AccessibilityNodeInfo#setLabeledBy and #getLabeledBy in favor of #addLabeledBy, #removeLabeledBy, and #getLabeledByList.

Improved support for expandable elements

Android 16 adds accessibility APIs that allow you to convey the expanded or collapsed state of interactive elements, such as menus and expandable lists. By setting the expanded state using setExpandedState and dispatching TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents with a CONTENT_CHANGE_TYPE_EXPANDED content change type, you can ensure that screen readers like TalkBack announce state changes, providing a more intuitive and inclusive user experience.

Indeterminate ProgressBars

Android 16 adds RANGE_TYPE_INDETERMINATE, giving a way for you to expose RangeInfo for both determinate and indeterminate ProgressBar widgets, allowing services like TalkBack to more consistently provide feedback for progress indicators.

Tri-state CheckBox

The new AccessibilityNodeInfo getChecked and setChecked(int) methods in Android 16 now support a "partially checked" state in addition to "checked" and "unchecked." This replaces the deprecated boolean isChecked and setChecked(boolean).

Supplemental descriptions

When an accessibility service describes a ViewGroup, it combines content labels from its child views. If you provide a contentDescription for the ViewGroup, accessibility services assume you are also overriding the description of non-focusable child views. This can be problematic if you want to label things like a drop-down (for example, "Font Family") while preserving the current selection for accessibility (for example, "Roboto"). Android 16 adds setSupplementalDescription so you can provide text that provides information about a ViewGroup without overriding information from its children.

Required form fields

Android 16 adds setFieldRequired to AccessibilityNodeInfo so apps can tell an accessibility service that input to a form field is required. This is an important scenario for users filling out many types of forms, even things as simple as a required terms and conditions checkbox, helping users to consistently identify and quickly navigate between required fields.

Smartphone als Mikrofoneingabe für Sprachanrufe mit LEA-Hörgeräten

Android 16 adds the capability for users of LE Audio hearing aids to switch between the built-in microphones on the hearing aids and the microphone on their phone for voice calls. This can be helpful in noisy environments or other situations where the hearing aid's microphones might not perform well.

Einstellungen für die Umgebungslautstärke für Hörgeräte mit LEA

Android 16 adds the capability for users of LE Audio hearing aids to adjust the volume of ambient sound that is picked up by the hearing aid's microphones. This can be helpful in situations where background noise is too loud or too quiet.

Kamera

Android 16 bietet eine verbesserte Unterstützung für professionelle Kameraanwender und ermöglicht die Hybrid-Auto-Belichtung sowie präzise Anpassungen von Farbtemperatur und Farbton. Ein neuer Nachtmodus-Indikator hilft Ihrer App, zu erkennen, wann sie in eine Kamera-Sitzung im Nachtmodus wechseln muss und wann nicht. Neue Intent-Aktionen erleichtern das Aufnehmen von Bewegtbildern. Außerdem verbessern wir UltraHDR-Bilder weiter, indem wir die HEIC-Codierung und neue Parameter aus dem ISO 21496-1-Entwurf unterstützen.

Hybride automatische Belichtung

Android 16 fügt Camera2 neue hybride Autofokusmodi hinzu, mit denen Sie bestimmte Aspekte der Belichtung manuell steuern können, während der Autofokusalgorithmus (AE) den Rest übernimmt. Sie können ISO + AE und Belichtungszeit + AE steuern. Das bietet mehr Flexibilität als der aktuelle Ansatz, bei dem Sie entweder die volle manuelle Kontrolle haben oder sich vollständig auf die automatische Belichtung verlassen.

fun setISOPriority() {
    // ... (Your existing code before the snippet) ...

    val availablePriorityModes = mStaticInfo.characteristics.get(
        CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
    )

    // ... (Your existing code between the snippets) ...

    // Turn on AE mode to set priority mode
    reqBuilder.set(
        CaptureRequest.CONTROL_AE_MODE,
        CameraMetadata.CONTROL_AE_MODE_ON
    )
    reqBuilder.set(
        CaptureRequest.CONTROL_AE_PRIORITY_MODE,
        CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
    )
    reqBuilder.set(
        CaptureRequest.SENSOR_SENSITIVITY,
        TEST_SENSITIVITY_VALUE
    )
    val request: CaptureRequest = reqBuilder.build()

    // ... (Your existing code after the snippet) ...
}

Genaue Anpassung von Farbtemperatur und Farbton

Android 16 bietet Kameraunterstützung für die Feinabstimmung von Farbtemperatur und Farbton, um professionelle Videoaufnahmeanwendungen besser zu unterstützen. In früheren Android-Versionen konnten Sie die Weißabgleichseinstellungen über CONTROL_AWB_MODE steuern. Diese Optionen waren auf eine vordefinierte Liste beschränkt, z. B. Glühlampen, Bedeckt und Dämmerung. Mit der Taste COLOR_CORRECTION_MODE_CCT können Sie COLOR_CORRECTION_COLOR_TEMPERATURE und COLOR_CORRECTION_COLOR_TINT verwenden, um den Weißabgleich basierend auf der korrespondierenden Farbtemperatur präzise anzupassen.

fun setCCT() {
    // ... (Your existing code before this point) ...

    val colorTemperatureRange: Range<Int> =
        mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]

    // Set to manual mode to enable CCT mode
    reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
    reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
    reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
    reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30

    val request: CaptureRequest = reqBuilder.build()

    // ... (Your existing code after this point) ...
}

Die folgenden Beispiele zeigen, wie ein Foto aussehen würde, nachdem verschiedene Anpassungen der Farbtemperatur und des Farbtons vorgenommen wurden:

Das Originalbild ohne Farbtemperatur- oder Farbtonanpassungen.
Das Bild mit einer auf 3.000 Kelvin eingestellten Farbtemperatur.
Das Bild mit einer auf 7.000 Kelvin eingestellten Farbtemperatur.


Das Bild mit um 50 % verringerten Farbtonstufen
Das Bild mit um 50 erhöhten Farbtonstufen

Szenenerkennung im Nachtmodus der Kamera

Damit Ihre App weiß, wann sie zu einer Kamerasitzung im Nachtmodus wechseln und wieder davon zurückwechseln soll, wird in Android 16 EXTENSION_NIGHT_MODE_INDICATOR hinzugefügt. Wenn unterstützt, ist sie in Camera2 unter CaptureResult verfügbar.

Das ist die API, die wir im Blogpost So ermöglicht Instagram Nutzern atemberaubende Fotos bei wenig Licht kurz als bald verfügbar erwähnt haben. Dieser Beitrag enthält eine praktische Anleitung zur Implementierung des Nachtmodus sowie eine Fallstudie, in der eine höhere Qualität der In-App-Fotos im Nachtmodus mit einer Steigerung der Anzahl der über die In-App-Kamera geteilten Fotos in Verbindung gebracht wird.

Intent-Aktionen für die Aufnahme von Fotos mit Bewegtbild

Android 16 fügt Standard-Intent-Aktionen hinzu: ACTION_MOTION_PHOTO_CAPTURE und ACTION_MOTION_PHOTO_CAPTURE_SECURE. Sie fordern die Kameraanwendung auf, ein Action-Foto aufzunehmen und zurückzugeben.

Sie müssen entweder ein zusätzliches EXTRA_OUTPUT übergeben, um zu steuern, wo das Bild geschrieben wird, oder ein Uri über Intent.setClipData(ClipData). Wenn Sie ClipData nicht festlegen, wird sie beim Aufrufen von Context.startActivity(Intent) dort für Sie kopiert.

Beispiel für ein Foto mit Bewegtbild, das das Standbild und die Wiedergabe des Bewegtbilds zeigt

Ultra HDR-Bildoptimierung

An illustration of Standard Dynamic Range (SDR) versus High Dynamic Range (HDR) image quality.

Android 16 continues our work to deliver dazzling image quality with UltraHDR images. It adds support for UltraHDR images in the HEIC file format. These images will get ImageFormat type HEIC_ULTRAHDR and will contain an embedded gainmap similar to the existing UltraHDR JPEG format. We're working on AVIF support for UltraHDR as well, so stay tuned.

In addition, Android 16 implements additional parameters in UltraHDR from the ISO 21496-1 draft standard, including the ability to get and set the colorspace that gainmap math should be applied in, as well as support for HDR encoded base images with SDR gainmaps.

Grafik

Android 16 bietet die neuesten Grafikverbesserungen, z. B. benutzerdefinierte Grafikeffekte mit AGSL.

Benutzerdefinierte Grafikeffekte mit AGSL

In Android 16 wurden RuntimeColorFilter und RuntimeXfermode hinzugefügt. Damit können Sie komplexe Effekte wie „Schwellenwert“, „Sepia“ und „Farbtonsättigung“ erstellen und auf Zeichnenaufrufe anwenden. Seit Android 13 können Sie mit AGSL benutzerdefinierte Runtime-Shader erstellen, die Shader erweitern. Die neue API spiegelt dies wider und fügt einen AGSL-basierten RuntimeColorFilter hinzu, der ColorFilter erweitert, und einen Xfermode-Effekt, mit dem du AGSL-basiertes benutzerdefiniertes Compositing und Blending zwischen Quell- und Zielpixeln implementieren kannst.

private val thresholdEffectString = """
    uniform half threshold;

    half4 main(half4 c) {
        half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
        half bw = step(threshold, luminosity);
        return bw.xxx1 * c.a;
    }"""

fun setCustomColorFilter(paint: Paint) {
   val filter = RuntimeColorFilter(thresholdEffectString)
   filter.setFloatUniform(0.5);
   paint.colorFilter = filter
}

Konnektivität

Mit Android 16 wird die Plattform aktualisiert, damit Ihre App Zugriff auf die neuesten Fortschritte in der Kommunikations- und Funktechnologie hat.

Entfernungsmessung mit erhöhter Sicherheit

Android 16 unterstützt robuste Sicherheitsfunktionen für die WLAN-Standortermittlung auf unterstützten Geräten mit 802.11az von Wi‑Fi 6. So können Apps die höhere Genauigkeit, die größere Skalierbarkeit und die dynamische Planung des Protokolls mit Sicherheitsverbesserungen wie AES-256-basierter Verschlüsselung und Schutz vor MITM-Angriffen kombinieren. So kann es sicherer in Anwendungsfällen mit Näherungserkennung verwendet werden, z. B. zum Entsperren eines Laptops oder einer Fahrzeugtür. 802.11az ist in den Wi‑Fi 6-Standard integriert und nutzt dessen Infrastruktur und Funktionen für eine breitere Akzeptanz und einfachere Bereitstellung.

Allgemeine APIs für die Reichweite

Android 16 enthält das neue Symbol RangingManager, mit dem sich auf unterstützter Hardware die Entfernung und der Winkel zwischen dem lokalen Gerät und einem Remote-Gerät bestimmen lassen. RangingManager unterstützt die Verwendung verschiedener Technologien zur Entfernungsmessung wie BLE-Kanalabfrage, BLE-RSSI-basierte Entfernungsmessung, Ultrabreitband und WLAN-Rücklaufzeit.

Präsenz von Geräten im Begleitgerätemanager

In Android 16 werden neue APIs für die Bindung Ihres Companion-App-Dienstes eingeführt. Der Dienst wird gebunden, wenn BLE in Reichweite ist und Bluetooth verbunden ist. Er wird getrennt, wenn BLE nicht in Reichweite ist oder Bluetooth getrennt ist. Die App erhält einen neuen Callback vom Typ onDevicePresenceEvent(), der auf verschiedenen DevicePresenceEvent-Werten basiert. Weitere Informationen finden Sie unter startObservingDevicePresence(ObservingDevicePresenceRequest).

Medien

Android 16 bietet eine Vielzahl von Funktionen, die die Medienwiedergabe verbessern.

Verbesserungen bei der Bildauswahl

Mit der Bildauswahl können Nutzer Ihrer App sicher und direkt Zugriff auf ausgewählte Bilder und Videos aus dem lokalen Speicher und der Cloud gewähren, anstatt auf die gesamte Mediathek. Mit einer Kombination aus modularen Systemkomponenten über Google-Systemupdates und Google Play-Diensten wird sie bis zu Android 4.4 (API-Level 19) unterstützt. Für die Integration sind nur wenige Codezeilen mit der zugehörigen Android Jetpack-Bibliothek erforderlich.

Android 16 enthält die folgenden Verbesserungen an der Bildauswahl:

  • Eingebettete Bildauswahl: Neue APIs, mit denen Entwickler die Bildauswahl in die Ansichtshierarchie ihrer App einbetten können. So wirkt es wie ein besser integrierter Teil der App, während gleichzeitig die Prozessisolierung genutzt wird, die es Nutzern ermöglicht, Medien auszuwählen, ohne dass die App übermäßig weitreichende Berechtigungen benötigt. Wenn Sie die Einbettung der Bildauswahl maximieren und die Integration vereinfachen möchten, sollten Sie die bevorstehende Android Jetpack-Bibliothek verwenden.
  • Cloud-Suche in der Fotoauswahl: Mit neuen APIs können Sie in der Android-Fotoauswahl über den Cloud-Medienanbieter suchen. Die Suchfunktion in der Bildauswahl wird demnächst eingeführt.

Erweiterte professionelle Videoinhalte

Android 16 unterstützt den Advanced Professional Video (APV)-Codec, der für die professionelle Videoaufzeichnung und -nachbearbeitung entwickelt wurde.

Der APV-Codecstandard hat folgende Funktionen:

  • Perzeptionsverlustfreie Videoqualität (nahe an der Rohvideoqualität)
  • Nur-Intraframe-Codierung mit niedriger Komplexität und hohem Durchsatz (ohne Pixelbereichsvorhersage) zur besseren Unterstützung von Bearbeitungsabläufen
  • Unterstützung hoher Bitrate bis zu einigen Gbit/s für Inhalte mit 2K-, 4K- und 8K-Auflösung, ermöglicht durch ein schlankes Entropiecodierungsschema
  • Frame-Kachelung für immersive Inhalte und parallele Codierung und Dekodierung
  • Unterstützung verschiedener Chroma-Sampling-Formate und Bittiefen
  • Unterstützung für mehrere Dekodierungen und erneute Codierungen ohne erhebliche Beeinträchtigung der Bildqualität
  • Unterstützung von Multiview-Videos und zusätzlichen Videos wie Tiefen-, Alpha- und Vorschauvideos
  • Unterstützung für HDR10/10+ und benutzerdefinierte Metadaten

Eine Referenzimplementierung von APV wird über das OpenAPV-Projekt bereitgestellt. Android 16 unterstützt das APV 422-10-Profil, das YUV 422-Farbstichproben mit 10-Bit-Codierung und Zielbitraten von bis zu 2 Gbit/s bietet.

Datenschutz

Android 16 enthält eine Vielzahl von Funktionen, die App-Entwicklern helfen, den Datenschutz der Nutzer zu schützen.

Health Connect-Updates

Health Connect fügt ACTIVITY_INTENSITY hinzu, einen Datentyp, der gemäß den Richtlinien der Weltgesundheitsorganisation für moderate und intensive Aktivitäten definiert ist. Für jeden Datensatz sind die Start- und Endzeit sowie die Angabe erforderlich, ob die Aktivitätsintensität mäßig oder intensiv ist.

Health Connect enthält auch aktualisierte APIs, die Medikationspläne unterstützen. So können Apps mit ausdrücklicher Nutzereinwilligung Patientenakten im FHIR-Format lesen und schreiben.

Privacy Sandbox für Android

Android 16 incorporates the latest version of the Privacy Sandbox on Android, part of our ongoing work to develop technologies where users know their privacy is protected. Our website has more about the Privacy Sandbox on Android developer beta program to help you get started. Check out the SDK Runtime which allows SDKs to run in a dedicated runtime environment separate from the app they are serving, providing stronger safeguards around user data collection and sharing.

Sicherheit

Android 16 enthält Funktionen, mit denen Sie die Sicherheit Ihrer App verbessern und die Daten Ihrer App schützen können.

API zum Teilen von Schlüsseln

Android 16 bietet APIs, mit denen der Zugriff auf Schlüssel des Android Keystore für andere Apps freigegeben werden kann. Die neue Klasse KeyStoreManager unterstützt das Gewähren und Widerrufen des Zugriffs auf Schlüssel nach App-uid und enthält eine API, über die Apps auf freigegebene Schlüssel zugreifen können.

Formfaktoren von Geräten

Mit Android 16 können Ihre Apps die Formfaktoren von Android optimal nutzen.

Standardisiertes Framework für Bild- und Audioqualität für Fernseher

Das neue MediaQuality-Paket in Android 16 stellt eine Reihe standardisierter APIs für den Zugriff auf Audio- und Bildprofile sowie hardwarebezogene Einstellungen bereit. So können Streaming-Apps Profile abfragen und dynamisch auf Medien anwenden:

  • Filme, die mit einem größeren dynamischen Bereich gemastert wurden, erfordern eine höhere Farbgenauigkeit, um feine Details in Schatten zu erkennen und sich an das Umgebungslicht anzupassen. Daher kann ein Profil geeignet sein, bei dem die Farbgenauigkeit der Helligkeit vorgezogen wird.
  • Live-Sportveranstaltungen werden oft mit einem schmalen dynamischen Bereich gemastert, werden aber häufig bei Tageslicht angesehen. Daher kann ein Profil, bei dem die Helligkeit gegenüber der Farbrichtigkeit bevorzugt wird, bessere Ergebnisse liefern.
  • Für vollständig interaktive Inhalte ist eine minimale Verarbeitung erforderlich, um die Latenz zu reduzieren, und es werden höhere Frameraten benötigt. Aus diesem Grund sind viele Fernseher mit einem Spielprofil ausgestattet.

Mit der API können Apps zwischen Profilen wechseln und Nutzer können unterstützte Fernseher so einstellen, dass sie am besten zu ihren Inhalten passen.

Lokalisierung

Android 16 bietet Funktionen, die die Nutzerfreundlichkeit verbessern, wenn ein Gerät in verschiedenen Sprachen verwendet wird.

Vertikaler Text

Android 16 bietet Unterstützung auf niedriger Ebene für das vertikale Rendern und Messen von Text, um Bibliotheksentwicklern eine grundlegende Unterstützung für die vertikale Schrift zu bieten. Das ist besonders für Sprachen wie Japanisch nützlich, bei denen häufig vertikale Schriftsysteme verwendet werden. Der Klasse Paint wurde das neue Flag VERTICAL_TEXT_FLAG hinzugefügt. Wenn dieses Flag mit Paint.setFlags festgelegt wird, melden die Textmess-APIs von Paint vertikale statt horizontale Vorgänge und Canvas zeichnet Text vertikal.

val text = "「春は、曙。」"
Box(
    Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
        drawIntoCanvas { canvas ->
            val paint = Paint().apply { textSize = 64.sp.toPx() }
            // Draw text vertically
            paint.flags = paint.flags or VERTICAL_TEXT_FLAG
            val height = paint.measureText(text)
            canvas.nativeCanvas.drawText(
                text,
                0,
                text.length,
                size.width / 2,
                (size.height - height) / 2,
                paint
            )
        }
    }
) {}

Messsystem anpassen

Users can now customize their measurement system in regional preferences within Settings. The user preference is included as part of the locale code, so you can register a BroadcastReceiver on ACTION_LOCALE_CHANGED to handle locale configuration changes when regional preferences change.

Using formatters can help match the local experience. For example, "0.5 in" in English (United States), is "12,7 mm" for a user who has set their phone to English (Denmark) or who uses their phone in English (United States) with the metric system as the measurement system preference.

To find these settings, open the Settings app and navigate to System > Languages & region.