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 entsprechenden APIs zu erleichtern.

Eine detaillierte Liste der neuen, geänderten und entfernten APIs finden Sie im API-Vergleichsbericht. Details zu neuen APIs finden Sie in der Android API-Refer1enz. Neue APIs sind zur besseren Sichtbarkeit hervorgehoben.

Sie sollten sich auch die Bereiche ansehen, 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 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.

Nutzererfahrung und System-UI

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

Fortschrittsbasierte Benachrichtigungen

Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。

Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用细分来表示用户体验历程中的状态和里程碑。

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 添加了新 API,可帮助您在手势导航中启用预测性返回系统动画,例如“返回主屏幕”动画。通过使用新的 PRIORITY_SYSTEM_NAVIGATION_OBSERVER 注册 onBackInvokedCallback,您的应用可以在系统处理返回导航时接收常规的 onBackInvoked 调用,而不会影响正常的返回导航流程。

Android 16 还添加了 finishAndRemoveTaskCallback()moveTaskToBackCallback。通过向 OnBackInvokedDispatcher 注册这些回调,系统可以在调用返回手势时触发特定行为并播放相应的提前动画。

Bessere 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

Die meisten unserer Bemühungen zur Verbesserung 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, Ihnen auf der Plattform dabei zu helfen, Ihre Vision zu verwirklichen.

Inhaltsverarbeitung für Live-Hintergründe

在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescriptionWallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。

Leistung und Akku

Android 16 führt APIs ein, mit denen Sie Informationen zu Ihren Apps erhalten können.

Systemgesteuerte Profilerstellung

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 Auftragsprüfung

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

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

Die SystemHealthManager führt die APIs getCpuHeadroom und getGpuHeadroom ein, die Spiele und ressourcenintensive Apps mit Schätzungen der verfügbaren CPU- und GPU-Ressourcen versorgen. Mit diesen Methoden können Sie feststellen, wie Sie die Systemintegrität mit Ihrer App oder Ihrem Spiel am besten verbessern können. Dies gilt insbesondere, wenn sie in Kombination mit anderen APIs des Android Dynamic Performance Framework (ADPF) verwendet werden, die thermisches Drosseln erkennen.

Mit CpuHeadroomParams und GpuHeadroomParams auf unterstützten Geräten können Sie das Zeitfenster anpassen, das zum Berechnen des Puffers verwendet wird, und zwischen durchschnittlicher oder minimaler Ressourcenverfügbarkeit wählen. So können Sie die CPU- oder GPU-Ressourcennutzung entsprechend reduzieren, was zu einer besseren Nutzererfahrung und einer längeren Akkulaufzeit führt.

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

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.

Umgebungsabhängige Lautstärkeregelung 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 professionelle Kameranutzer. So ist jetzt eine hybride automatische Belichtung sowie eine präzise Anpassung der Farbtemperatur und des Farbtons möglich. Ein neuer Nachtmodus-Indikator hilft Ihrer App zu erkennen, wann sie zu einer Nachtmodus-Kamerasitzung wechseln muss. Neue Intent-Aktionen erleichtern das Aufnehmen von Fotos mit Bewegtbild. Außerdem verbessern wir UltraHDR-Bilder weiter, indem wir die HEIC-Codierung und neue Parameter aus dem Entwurf des ISO 21496-1-Standards 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) ...
}

Präzise Anpassung 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.

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 zum Aufnehmen von Fotos mit Bewegtbild

Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTUREACTION_MOTION_PHOTO_CAPTURE_SECURE,用于请求相机应用拍摄动态照片并将其返回。

您必须传递额外的 EXTRA_OUTPUT 来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData) 传递 Uri。如果您未设置 ClipData,系统会在调用 Context.startActivity(Intent) 时将其复制到该位置。

动态照片示例,显示静态图片和动态播放画面。

Bildoptimierung für UltraHDR

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

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

Entfernungsmessung mit erweiterten Sicherheitsfunktionen

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 Entfernungsmessung

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 Begleitgeräten im Begleitgerätemanager

Android 16 中引入了用于绑定配套应用服务的新 API。当 BLE 在范围内且蓝牙处于连接状态时,系统会绑定服务;当 BLE 不在范围内或蓝牙处于断开连接状态时,系统会解除绑定服务。应用将根据各种 DevicePresenceEvent 收到新的 'onDevicePresenceEvent()' 回调。如需了解详情,请参阅 'startObservingDevicePresence(ObservingDevicePresenceRequest)'

Medien

Android 16 enthält eine Vielzahl von Funktionen, die die Mediennutzung 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 Videoeinstellungen

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 gewährleisten.

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 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 Framework für Bild- und Audioqualität für Fernseher

Android 16 中的新 MediaQuality 软件包公开了一组标准化 API,用于访问音频和图片配置文件以及与硬件相关的设置。这样,在线播放应用就可以查询配置文件并将其动态应用于媒体:

  • 使用更大动态范围进行母版制作的电影需要更高的色彩准确度,才能看清阴影中的细微细节并根据环境光线进行调整,因此,最好使用色彩准确度优先于亮度的配置文件。
  • 体育赛事直播通常采用较窄的动态范围进行母版制作,但通常是在白天观看,因此偏向亮度而非色彩准确度的配置文件可以获得更好的效果。
  • 完全交互式内容需要尽可能减少处理以缩短延迟时间,并且需要更高的帧速率,因此许多电视都附带游戏配置文件。

借助此 API,应用可以在个人资料之间切换,用户可以享受调整支持的电视,以便尽可能适合其内容。

Internationalisierung

Android 16 bietet Funktionen und Möglichkeiten, die die Nutzererfahrung 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 Einheitensystems

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.