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

  • Diese Vorabversion bezieht sich auf die nächste Hauptversion von Android, die voraussichtlich im 2. Quartal 2025 veröffentlicht wird. Diese Version ähnelt allen unseren API-Releases in der Vergangenheit, bei denen geplante Verhaltensänderungen häufig an eine targetSdkVersion gebunden sind.
  • Wir planen die Hauptversion ein Quartal früher (im 2. Quartal statt im 3. Quartal in den Vorjahren), um sie besser an den Zeitplan der Geräteveröffentlichungen in unserem Ökosystem anzupassen. So können mehr Geräte die Hauptversion von Android früher erhalten. Da die Hauptversion im 2. Quartal veröffentlicht wird, müssen Sie die jährlichen Kompatibilitätstests einige Monate früher als in den Vorjahren durchführen, um sicherzustellen, dass Ihre Apps bereit sind.
  • Im 4. Quartal 2025 planen wir einen weiteren Release, der auch neue Entwickler-APIs enthalten wird. Die Hauptversion des 2. Quartals ist die einzige Version im Jahr 2025, die geplante Verhaltensänderungen enthält, die sich auf Apps auswirken könnten.

Neben neuen Entwickler-APIs enthält die Nebenversion für das 4. Quartal Funktionsupdates, Optimierungen und Fehlerkorrekturen. Es gibt keine Verhaltensänderungen, die sich auf Apps auswirken.

Zeitachse der Android-Releases im Jahr 2025. Der Release 25Q2 ist eine Hauptversion und der Release 25Q4 eine Nebenversion.

Es wird weiterhin vierteljährliche Android-Releases geben. Die Updates in den ersten und dritten Quartalen zwischen den API-Releases dienen der kontinuierlichen Qualitätssicherung. Wir arbeiten aktiv mit unseren Gerätepartnern zusammen, um die Version für das zweite Quartal auf möglichst vielen Geräten verfügbar zu machen.

Neue APIs mit Haupt- und Nebenversionen verwenden

Derzeit wird ein Codeblock mit einer Prüfung auf die API-Ebene mit der Konstante SDK_INT und VERSION_CODES geschützt. Diese Funktion wird weiterhin für wichtige Android-Releases unterstützt.

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

Die neue Konstante SDK_INT_FULL kann für API-Prüfungen sowohl für Haupt- als auch Nebenversionen mit der neuen Aufzählung VERSION_CODES_FULL verwendet werden.

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

Sie können auch die Methode Build.getMinorSdkVersion() verwenden, um nur die Nebenversion des SDK abzurufen.

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)

Diese APIs sind noch nicht fertiggestellt und können sich ändern. Bitte senden Sie uns Feedback, wenn Sie Bedenken haben.

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.

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.

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

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

Die adaptive Bildwiederholrate (ARR), die in Android 15 eingeführt wurde, ermöglicht es, die Bildwiederholrate des Displays auf unterstützter Hardware mithilfe diskreter VSync-Schritte an die Framerate des Inhalts anzupassen. Dadurch wird der Stromverbrauch reduziert und der Moduswechsel, der zu Rucklern führen kann, entfällt.

In Android 16 werden hasArrSupport() und getSuggestedFrameRate(int) eingeführt und getSupportedRefreshRates() wiederhergestellt, damit Ihre Apps ARR leichter nutzen können. RecyclerView 1.4 unterstützt ARR intern, wenn es nach einem Wisch oder einem flüssigen Scrollen stabil ist. Wir arbeiten daran, ARR-Unterstützung in weitere Jetpack-Bibliotheken aufzunehmen. In diesem Artikel zur Framerate werden viele der APIs beschrieben, mit denen Sie die Framerate so festlegen können, dass Ihre App die ARR direkt verwenden kann.

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 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

Mit Android 16 können Nutzer von LE Audio-Hörgeräten für Sprachanrufe zwischen den integrierten Mikrofonen der Hörgeräte und dem Mikrofon auf ihrem Smartphone wechseln. Das kann in lauten Umgebungen oder anderen Situationen hilfreich sein, in denen die Mikrofone des Hörgeräts möglicherweise nicht optimal funktionieren.

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.

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();
  ...
}

Genaue Anpassung von Farbtemperatur und Farbton

Android 16 adds camera support for fine color temperature and tint adjustments to better support professional video recording applications. In previous Android versions, you could control white balance settings through CONTROL_AWB_MODE, which contains options limited to a preset list, such as Incandescent, Cloudy, and Twilight. The COLOR_CORRECTION_MODE_CCT enables the use of COLOR_CORRECTION_COLOR_TEMPERATURE and COLOR_CORRECTION_COLOR_TINT for precise adjustments of white balance based on the correlated color temperature.

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

The following examples show how a photo would look after applying different color temperature and tint adjustments:

The original image with no color temperature or tint adjustments applied.
The image with color temperature adjusted to 3000.
The image with color temperature adjusted to 7000.


The image with tint levels lowered by 50.
The image with tint levels raised by 50.

Szenenerkennung im Nachtmodus der Kamera

To help your app know when to switch to and from a night mode camera session, Android 16 adds EXTENSION_NIGHT_MODE_INDICATOR. If supported, it's available in the CaptureResult within Camera2.

This is the API we briefly mentioned as coming soon in the How Instagram enabled users to take stunning low light photos blog post. That post is a practical guide on how to implement night mode together with a case study that links higher-quality in-app night mode photos with an increase in the number of photos shared from the in-app camera.

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

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

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, new APIs are being introduced for binding your companion app service. Service will be bound when BLE is in range and Bluetooth is connected and service will be unbound when BLE is out of range or Bluetooth is disconnected. App will receives a new 'onDevicePresenceEvent()' callback based on various of DevicePresenceEvent. More details can be found in 'startObservingDevicePresence(ObservingDevicePresenceRequest)'.

Medien

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

Verbesserungen bei der 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 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 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 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 adds APIs that support sharing access to Android Keystore keys with other apps. The new KeyStoreManager class supports granting and revoking access to keys by app uid, and includes an API for apps to access shared keys.

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

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 adds low-level support for rendering and measuring text vertically to provide foundational vertical writing support for library developers. This is particularly useful for languages like Japanese that commonly use vertical writing systems. A new flag, VERTICAL_TEXT_FLAG, has been added to the Paint class. When this flag is set using Paint.setFlags, Paint's text measurement APIs will report vertical advances instead of horizontal advances, and Canvas will draw text vertically.

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

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.