Funktionen und APIs

Android 16 bietet tolle 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-Diffbericht. Details zu neuen APIs finden Sie in der Android API-Referenz. Neue APIs sind 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 enthält neue APIs, die die Hauptfunktionen 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 ihres Geräts.

Fortschrittsorientierte Benachrichtigungen

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.

To learn more, see the Progress-centric notifications documentation page.

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.

Verbesserte Haptik

Android bietet seit seiner Einführung die Möglichkeit, den haptischen Aktor zu steuern.

Android 11 unterstützt komplexere haptische Effekte, die durch VibrationEffect.Compositions von gerätedefinierten semantischen Primitiven unterstützt werden können.

Android 16 bietet Haptik-APIs, mit denen Apps die Amplituden- und Frequenzkurven eines haptischen Effekts definieren können, während Unterschiede zwischen den Gerätefunktionen abstrahiert werden.

Produktivität und Tools für Entwickler

Der Großteil unserer Arbeit zur Verbesserung Ihrer Produktivität konzentriert sich auf Tools wie Android Studio, Jetpack Compose und die Android Jetpack-Bibliotheken. Wir suchen jedoch immer nach Möglichkeiten auf der Plattform, die Ihnen helfen, Ihre Vision zu verwirklichen.

Umgang mit Inhalten für Live-Hintergründe

In Android 16, the live wallpaper framework is gaining a new content API to address the challenges of dynamic, user-driven wallpapers. Currently, live wallpapers incorporating user-provided content require complex, service-specific implementations. Android 16 introduces WallpaperDescription and WallpaperInstance. WallpaperDescription lets you identify distinct instances of a live wallpaper from the same service. For example, a wallpaper that has instances on both the home screen and on the lock screen may have unique content in both places. The wallpaper picker and WallpaperManager use this metadata to better present wallpapers to users, streamlining the process for you to create diverse and personalized live wallpaper experiences.

Leistung und Akku

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

Vom System ausgelöstes Profiling

ProfilingManager was added in Android 15, giving apps the ability to request profiling data collection using Perfetto on public devices in the field. However, since this profiling must be started from the app, critical flows such as startups or ANRs would be difficult or impossible for apps to capture.

To help with this, Android 16 introduces system-triggered profiling to ProfilingManager. Apps can register interest in receiving traces for certain triggers such as cold start reportFullyDrawn or ANRs, and then the system starts and stops a trace on the app's behalf. After the trace completes, the results are delivered to the app's data directory.

Komponente in ApplicationStartInfo starten

ApplicationStartInfo was added in Android 15, allowing an app to see reasons for process start, start type, start times, throttling, and other useful diagnostic data. Android 16 adds getStartComponent() to distinguish what component type triggered the start, which can be helpful for optimizing the startup flow of your app.

Bessere Selbstreflexion

The JobScheduler#getPendingJobReason() API returns a reason why a job might be pending. However, a job might be pending for multiple reasons.

In Android 16, we are introducing a new API JobScheduler#getPendingJobReasons(int jobId), which returns multiple reasons why a job is pending, due to both explicit constraints set by the developer and implicit constraints set by the system.

We're also introducing JobScheduler#getPendingJobReasonsHistory(int jobId), which returns a list of the most recent constraint changes.

We recommend using the API to help you debug why your jobs may not be executing, especially if you're seeing reduced success rates of certain tasks or have bugs around latency of certain job completion. For example, updating widgets in the background failed to occur or prefetch job failed to be called prior to app start.

This can also better help you understand if certain jobs are not completing due to system defined constraints versus explicitly set constraints.

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

Android 16 bietet neue APIs und Funktionen für Bedienungshilfen, mit denen Sie Ihre App für alle Nutzer zugänglich machen können.

Verbesserte APIs für Bedienungshilfen

Android 16 bietet zusätzliche APIs zur Verbesserung der UI-Semantik, die die Konsistenz für Nutzer mit Bedienungshilfen wie TalkBack verbessern.

Textkontur hinzufügen, um den Textkontrast zu maximieren

Nutzer mit Sehschwäche haben oft eine verminderte Kontrastwahrnehmung, was es schwierig macht, Objekte von ihrem Hintergrund zu unterscheiden. Um diesen Nutzern zu helfen, wird in Android 16 Text mit Umriss eingeführt, der Text mit hohem Kontrast ersetzt. Dadurch wird ein größerer Kontrastbereich um den Text herum gezeichnet, um die Lesbarkeit erheblich zu verbessern.

Android 16 enthält neue AccessibilityManager APIs, mit denen Ihre Apps prüfen oder einen Listener registrieren können, um festzustellen, ob dieser Modus aktiviert ist. Dies gilt hauptsächlich für UI-Toolkits wie Compose, um eine ähnliche visuelle Darstellung zu bieten. Wenn Sie eine UI Toolkit-Bibliothek verwalten oder Ihre App benutzerdefiniertes Text-Rendering durchführt, das die Klasse android.text.Layout umgeht, können Sie so feststellen, ob der Outline-Text aktiviert ist.

Text mit verbessertem Kontrast vor und nach der neuen Bedienungshilfe für Umrisstext in Android 16

Dauer zu „TtsSpan“ hinzugefügt

Android 16 erweitert TtsSpan um ein TYPE_DURATION, das aus ARG_HOURS, ARG_MINUTES und ARG_SECONDS besteht. So können Sie die Zeitdauer direkt angeben und eine korrekte und konsistente Text-to-Speech-Ausgabe mit Diensten wie TalkBack sicherstellen.

Unterstützung für Elemente mit mehreren Labels

Auf Android-Geräten können UI-Elemente derzeit ihr Label für Barrierefreiheit von einem anderen ableiten. Jetzt können mehrere Labels verknüpft werden, was bei Webinhalten häufig vorkommt. Durch die Einführung einer listenbasierten API in AccessibilityNodeInfo kann Android diese Mehrfachlabelbeziehungen direkt unterstützen. Im Rahmen dieser Änderung werden AccessibilityNodeInfo#setLabeledBy und #getLabeledBy eingestellt. Stattdessen werden #addLabeledBy, #removeLabeledBy und #getLabeledByList verwendet.

Verbesserte Unterstützung für ausblendbare Elemente

Android 16 bietet APIs für Bedienungshilfen, mit denen Sie den maximierten oder minimierten Zustand interaktiver Elemente wie Menüs und erweiterbarer Listen angeben können. Wenn Sie den maximierten Zustand mit setExpandedState festlegen und TYPE_WINDOW_CONTENT_CHANGED-Bedienungshilfenereignisse mit einem Inhaltsänderungstyp CONTENT_CHANGE_TYPE_EXPANDED senden, können Sie dafür sorgen, dass Screenreader wie TalkBack Statusänderungen ansagen, was eine intuitivere und inklusivere Nutzererfahrung ermöglicht.

Unbestimmte Fortschrittsbalken

In Android 16 wird RANGE_TYPE_INDETERMINATE hinzugefügt. So können Sie RangeInfo sowohl für bestimmte als auch für unbestimmte ProgressBar-Widgets anzeigen lassen. Dienste wie TalkBack können dann konsistenter Feedback zu Fortschrittsanzeigen geben.

Drei-Status-Kästchen

Die neuen Methoden AccessibilityNodeInfo, getChecked und setChecked(int) in Android 16 unterstützen jetzt zusätzlich zu „angeklickt“ und „deaktiviert“ den Status „teilweise angeklickt“. Dieser Wert ersetzt die verworfenen Booleschen Werte isChecked und setChecked(boolean).

Zusätzliche Beschreibungen

Wenn ein Bedienungshilfendienst eine ViewGroup beschreibt, werden Inhaltslabels der untergeordneten Ansichten kombiniert. Wenn Sie eine contentDescription für die ViewGroup angeben, gehen Bedienungshilfen davon aus, dass Sie auch die Beschreibung der nicht fokussierbaren untergeordneten Ansichten überschreiben. Das kann problematisch sein, wenn Sie beispielsweise ein Drop-down-Menü (z. B. „Schriftfamilie“) beschriften und gleichzeitig die aktuelle Auswahl für die Barrierefreiheit beibehalten möchten (z. B. „Roboto“). In Android 16 wird setSupplementalDescription hinzugefügt, damit Sie Text mit Informationen zu einer ViewGroup angeben können, ohne Informationen ihrer untergeordneten Elemente zu überschreiben.

Pflichtfelder im Formular

In Android 16 wird setFieldRequired zu AccessibilityNodeInfo hinzugefügt, damit Apps einem Bedienungshilfendienst mitteilen können, dass Eingaben in einem Formularfeld erforderlich sind. Das ist ein wichtiges Szenario für Nutzer, die viele Arten von Formularen ausfüllen, selbst wenn es sich nur um ein Kästchen für die Nutzungsbedingungen handelt. So können Nutzer die Pflichtfelder immer wieder erkennen und schnell zwischen ihnen wechseln.

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.

Lautstärkeregelung für Umgebungsgeräusche für LEA-Hörgeräte

Mit Android 16 können Nutzer von LE Audio-Hörgeräten die Lautstärke der Umgebungsgeräusche anpassen, die von den Mikrofonen des Hörgeräts aufgenommen werden. Das kann hilfreich sein, wenn Hintergrundgeräusche zu laut oder zu leise sind.

Kamera

Android 16 bietet eine verbesserte Unterstützung für Nutzer professioneller Kameras. So ist eine hybride automatische Belichtung sowie eine präzise Anpassung der Farbtemperatur und des Farbtons möglich. Ein neuer Nachtmodus-Indikator gibt Ihrer App Aufschluss darüber, wann zum und vom Nachtmodus gewechselt werden soll. Mit neuen Intent-Aktionen lassen sich jetzt noch einfacher Bewegungsfotos aufnehmen. Außerdem verbessern wir kontinuierlich Ultra-HDR-Bilder mit Unterstützung der HEIC-Codierung und neuen Parametern aus dem ISO 21496-1-Entwurfsstandard.

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.

public void setISOPriority() {
  ...
  int[] availablePriorityModes =
     mStaticInfo.getCharacteristics().get(CameraCharacteristics.
     COLOR_AE_AVAILABLE_PRIORITY_MODES);
  ...
  // 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);
  reqBuilder.set(CaptureRequest.SENSOR_SENSITIVITY,
      TEST_SENSITIVITY_VALUE);
  CaptureRequest request = reqBuilder.build();
  ...
}

Präzise Anpassungen der Farbtemperatur und des Farbtons

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.

public void setCCT() {
  ...
  Range<Integer> colorTemperatureRange =
     mStaticInfo.getCharacteristics().get(CameraCharacteristics.
     COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE);
  // Set to manual mode to enable CCT mode
  reqBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF);
  reqBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
      CameraMetadata.COLOR_CORRECTION_MODE_CCT);
  reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE, 5000);
  reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TINT, 30);
  CaptureRequest request = reqBuilder.build();
  ...
}

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 adds standard Intent actions — ACTION_MOTION_PHOTO_CAPTURE, and ACTION_MOTION_PHOTO_CAPTURE_SECURE — which request that the camera application capture a motion photo and return it.

You must either pass an extra EXTRA_OUTPUT to control where the image will be written, or a Uri through Intent.setClipData(ClipData). If you don't set a ClipData, it will be copied there for you when calling Context.startActivity(Intent).

An example of a motion photo, showing the still image followed by the motion playback.

UltraHDR-Bildoptimierung

Abbildung der Bildqualität bei Standard Dynamic Range (SDR) und High Dynamic Range (HDR).

Mit Android 16 setzen wir unsere Bemühungen fort, mit Ultra-HDR-Bildern eine beeindruckende Bildqualität zu bieten. Es wird die Unterstützung für Ultra-HDR-Bilder im HEIC-Dateiformat hinzugefügt. Diese Bilder erhalten den Typ ImageFormat HEIC_ULTRAHDR und enthalten eine eingebettete Verstärkungskarte, ähnlich wie das vorhandene UltraHDR-JPEG-Format. Wir arbeiten auch an der AVIF-Unterstützung für UltraHDR. Mehr dazu demnächst.

Außerdem werden in Android 16 zusätzliche Parameter in UltraHDR aus dem ISO 21496-1-Entwurfsstandard implementiert. Dazu gehören die Möglichkeit, den Farbraum abzurufen und festzulegen, in dem die Gainmap-Berechnung angewendet werden soll, sowie die Unterstützung für HDR-codierte Basisbilder mit SDR-Gainmaps.

Grafik

Android 16 enthält die neuesten Grafikverbesserungen, z. B. benutzerdefinierte Grafikeffekte mit AGSL.

Benutzerdefinierte grafische Effekte 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 auf die neuesten Fortschritte in der Kommunikation und drahtlosen Technologien zugreifen kann.

Abtasten mit erweiterter Sicherheit

Android 16 adds support for robust security features in Wi-Fi location on supported devices with Wi-Fi 6's 802.11az, allowing apps to combine the higher accuracy, greater scalability, and dynamic scheduling of the protocol with security enhancements including AES-256-based encryption and protection against MITM attacks. This allows it to be used more safely in proximity use cases, such as unlocking a laptop or a vehicle door. 802.11az is integrated with the Wi-Fi 6 standard, leveraging its infrastructure and capabilities for wider adoption and easier deployment.

Generische APIs für die Entfernungsmessung

Android 16 includes the new RangingManager, which provides ways to determine the distance and angle on supported hardware between the local device and a remote device. RangingManager supports the usage of a variety of ranging technologies such as BLE channel sounding, BLE RSSI-based ranging, Ultra Wideband, and Wi-Fi round trip time.

Medien

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

Verbesserte Bildauswahl

The photo picker provides a safe, built-in way for users to grant your app access to selected images and videos from both local and cloud storage, instead of their entire media library. Using a combination of Modular System Components through Google System Updates and Google Play services, it's supported back to Android 4.4 (API level 19). Integration requires just a few lines of code with the associated Android Jetpack library.

Android 16 includes the following improvements to the photo picker:

  • Embedded photo picker: New APIs that enable apps to embed the photo picker into their view hierarchy. This allows it to feel like a more integrated part of the app while still leveraging the process isolation that allows users to select media without the app needing overly broad permissions. To maximize compatibility across platform versions and simplify your integration, you'll want to use the forthcoming Android Jetpack library if you want to integrate the embedded photo picker.
  • Cloud search in photo picker: New APIs that enable searching from the cloud media provider for the Android photo picker. Search functionality in the photo picker is coming soon.

Erweiterte Videoanzeigen für Professionals

Android 16 introduces support for the Advanced Professional Video (APV) codec which is designed to be used for professional level high quality video recording and post production.

The APV codec standard has the following features:

  • Perceptually lossless video quality (close to raw video quality)
  • Low complexity and high throughput intra-frame-only coding (without pixel domain prediction) to better support editing workflows
  • Support for high bit-rate range up to a few Gbps for 2K, 4K and 8K resolution content, enabled by a lightweight entropy coding scheme
  • Frame tiling for immersive content and for enabling parallel encoding and decoding
  • Support for various chroma sampling formats and bit-depths
  • Support for multiple decoding and re-encoding without severe visual quality degradation
  • Support multi-view video and auxiliary video like depth, alpha, and preview
  • Support for HDR10/10+ and user-defined metadata

A reference implementation of APV is provided through the OpenAPV project. Android 16 will implement support for the APV 422-10 Profile that provides YUV 422 color sampling along with 10-bit encoding and for target bitrates of up to 2Gbps.

Datenschutz

Android 16 bietet eine Vielzahl von Funktionen, mit denen App-Entwickler die Privatsphäre der Nutzer schützen können.

Health Connect-Updates

In der Entwicklervorschau von Health Connect wird ACTIVITY_INTENSITY hinzugefügt, ein neuer Datentyp, der gemäß den Richtlinien der Weltgesundheitsorganisation für moderate und anstrengende Aktivitäten definiert ist. Für jeden Eintrag sind der Beginn, das Ende und die Intensität der Aktivität (mäßig oder intensiv) erforderlich.

Health Connect enthält auch aktualisierte APIs, die Gesundheitsdaten unterstützen. So können Apps mit ausdrücklicher Nutzereinwilligung Patientenakten im FHIR-Format lesen und schreiben. Diese API befindet sich in einem Early Access-Programm. Wenn du teilnehmen möchtest, melde dich für unser Early Access-Programm an.

Privacy Sandbox für Android

Android 16 enthält die neueste Version der Privacy Sandbox für Android. Diese Technologie ist Teil unserer laufenden Bemühungen, Technologien zu entwickeln, bei denen Nutzer wissen, dass ihre Daten geschützt sind. Auf unserer Website finden Sie weitere Informationen zum Privacy Sandbox-Entwickler-Betaprogramm für Android. Sehen Sie sich die SDK Runtime an. Damit können SDKs in einer separaten Laufzeitumgebung ausgeführt werden, die von der App getrennt ist, in der sie bereitgestellt werden. So werden die Erhebung und Weitergabe von Nutzerdaten besser geschützt.

Sicherheit

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

API zur Schlüsselfreigabe

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

Android 16 bietet Ihren Apps die Unterstützung, die Sie benötigen, um die Formfaktoren von Android optimal zu nutzen.

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

The new MediaQuality package in Android 16 exposes a set of standardized APIs for access to audio and picture profiles and hardware-related settings. This allows streaming apps to query profiles and apply them to media dynamically:

  • Movies mastered with a wider dynamic range require greater color accuracy to see subtle details in shadows and adjust to ambient light, so a profile that prefers color accuracy over brightness may be appropriate.
  • Live sporting events are often mastered with a narrow dynamic range, but are often watched in daylight, so a profile that preferences brightness over color accuracy can give better results.
  • Fully interactive content wants minimal processing to reduce latency, and wants higher frame rates, which is why many TV's ship with a game profile.

The API allows apps to switch between profiles and users to enjoy tuning supported TVs to best suit their content.

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
            )
        }
    }
) {}

Anpassung des Messsystems

Nutzer können das Maßsystem jetzt in den regionalen Einstellungen unter „Einstellungen“ anpassen. Die Nutzereinstellung ist Teil des Gebietscodes. Sie können also eine BroadcastReceiver unter ACTION_LOCALE_CHANGED registrieren, um Änderungen an der Gebietskonfiguration zu verarbeiten, wenn sich die regionalen Einstellungen ändern.

Mit Formatierungsoptionen können Sie die Inhalte an die jeweilige Region anpassen. „0,5 in“ auf Englisch (USA) entspricht beispielsweise „12,7 mm“ für einen Nutzer,der sein Smartphone auf Englisch (Dänemark) eingestellt hat oder sein Smartphone auf Englisch (USA) mit dem metrischen System als bevorzugtem Maßsystem verwendet.

Öffnen Sie dazu die Einstellungen und gehen Sie zu System > Sprache und Region.