Funktionen und APIs – Übersicht

Mit Android 12 werden tolle neue Funktionen und APIs für Entwickler eingeführt. In den folgenden Abschnitten erhalten Sie Informationen zu den Funktionen für Ihre Apps und zu den ersten Schritten. mit den zugehörigen APIs.

Eine detaillierte Liste der neuen, geänderten und entfernten APIs finden Sie unter API-Unterschiede . Bericht. Details zu den neuen APIs finden Sie in der Android- API-Referenz: Neue APIs sind hervorgehoben dargestellt. Außerdem und erfahren, in welchen Bereichen sich die Plattformänderungen auf Ihre Apps auswirken können. Verhaltensänderungen unter Android 12 für Apps, die auf Android 12 und für alle Apps.

Nutzererfahrung

Material You

Mit Android 12 wird eine neue Designsprache namens Material Sie und helfen Ihnen, noch mehr personalisierte, schöne Apps. Um die neuesten Material Design-Funktionen in Ihren Apps installiert haben, testen Sie eine Alpha-Version von Material Design Komponenten.

Material You

Widgets-Verbesserungen

Android 12 überarbeitet die bestehende Widgets API, um Nutzer und Entwickler zu verbessern Erfahrung in der Plattform und in Launchern. Wir haben einen Leitfaden erstellt, ob Ihr Widget mit Android 12 kompatibel ist, und aktualisieren Sie es mit Funktionen.

Siehe Verbesserungen bei Android 12-Widgets für erhalten Sie weitere Informationen.

Einfügen von Rich Content

Mit Android 12 wird eine neue einheitliche API eingeführt, mit der deine App Rich Content aus jeder verfügbaren Quelle empfangen: Zwischenablage, Tastatur, Drag-and-drop fallen lassen.

Weitere Informationen Inhalte.

API für App-Ladebildschirme

Mit Android 12 wird eine neue App-Startanimation für alle Apps eingeführt, die einen App-Bewegung vom Startpunkt an, ein Ladebildschirm mit dem App-Symbol, und einen Übergang zur App selbst. Ladebildschirm-Entwickler aufrufen finden Sie weitere Informationen.

APIs mit abgerundeten Ecken

Mit Android 12 wird RoundedCorner eingeführt und WindowInsets.getRoundedCorner(int position), Sie geben den Radius und den Mittelpunkt für abgerundete Ecken an.

Weitere Informationen finden Sie unter Abgerundete Ecken.

Umfassende haptische Funktionen

Android 12 bietet zusätzliche Tools zum Erstellen von informativem haptischem Feedback für UI Ereignisse, immersive und ansprechende Effekte für Gaming sowie eine auffällige Haptik die Produktivität zu steigern.

Bedienelemente

Android 12 bietet ausdrucksstarke Effekte wie niedrige Häkchen Sie profitieren von der größeren Frequenzbandbreite der neuesten Bedienelemente. Spiel Entwickler können jetzt auf mehrere, verschiedene unabhängige Bedienelemente im Spiel Controller, um denselben Effekt synchron oder unterschiedliche haptische Effekte zu erzeugen. an mehreren Bedienelementen an. Entwicklern empfehlen wir die Verwendung des Konstanten und Primitive als Bausteine für umfassende haptische Effekte – Konstanten zur Optimierung von UI-Ereignissen und haptischer Composer in Sequenz Primitiven für komplexere Effekte. Diese APIs können auf Pixel 4 getestet werden und arbeiten weiterhin mit unseren Geräteherstellern zusammen, haptische Unterstützung für Nutzer*innen aus der ganzen Welt.

Audiogekoppelte Haptikeffekte

Android 12-Apps können haptisches Feedback aus einer Audiositzung mithilfe von den Vibrationsalarm des Smartphones. Dies bietet die Möglichkeit für ein immersiveres Spiel und Audioerlebnisse. Mit haptisch verbesserten Klingeltönen Anrufer oder ein Fahrspiel simuliert.

Weitere Informationen finden Sie in der HapticGenerator. in der Referenzdokumentation.

App-Suche

Mit Android 12 wird AppSearch eingeführt, eine leistungsstarke On-Device-Suchmaschine, als Systemdienst. Mit AppSearch können Anwendungen strukturierte Daten indexieren und mit der Volltextsuchfunktion darin suchen. Außerdem AppSearch unterstützt native Suchfunktionen wie die hocheffiziente Indexierung. Abruf, mehrsprachigen Support und Relevanz-Ranking.

Diagramm zur Indexierung und Suche in AppSearch

AppSearch gibt es in zwei Varianten: als lokaler Index für Ihre Anwendung. der mit älteren Android-Versionen oder einem zentralen Index kompatibel ist, unter Android 12 für das gesamte System gepflegt. Mit dem zentralen Index können Ihre App zulassen, dass ihre Daten auf System-UI-Oberflächen angezeigt werden, indem der der vorinstallierten Intelligenz-Komponente des Systems. Welche Daten genau erfasst werden, die auf System-UI-Oberflächen angezeigt werden, ist vom OEM abhängig. Außerdem werden Ihre Anwendungen Daten sicher an andere Anwendungen weitergeben können, damit diese auch in diesen Daten suchen können.

Weitere Informationen zu AppSearch finden Sie in der Entwicklerhandbuch herunter und verwenden Sie es zuerst mit den die AppSearch-Jetpack-Bibliothek, die bietet eine entwicklerfreundliche API-Oberfläche sowie einen Annotationsprozessor Support.

Spielmodus

Die Game Mode API und der Spielmodus Maßnahmen ermöglichen es Ihnen, dem Spielen, indem Eigenschaften wie Leistung oder Akkulaufzeit priorisiert werden basierend auf Nutzereinstellungen oder spielspezifischen Konfigurationen.

Weitere Informationen finden Sie unter Spielmodus.

Empfehlungen und Verbesserungen für Bild im Bild (BiB)

Mit Android 12 wurden die folgenden Verbesserungen für den BiB-Modus eingeführt:

Unterstützung neuer BiB-Gesten

Android 12 unterstützt jetzt Stashing und Zoomen durch Auseinander- und Zusammenziehen der Finger Touch-Gesten für das BiB-Symbol Fenster:

  • Um das Fenster zu verstecken, kann der Nutzer das Fenster nach links oder rechts ziehen. Edge. Um das Fenster wieder zu öffnen, kann der Nutzer entweder auf den sichtbaren Teil der oder ziehen Sie es heraus.

  • Der Nutzer kann jetzt durch Auseinander- und Zusammenziehen der Finger die Größe des BiB-Fensters anpassen.

Android 12 hat erhebliche kosmetische Verbesserungen hinzugefügt zu den animierten zwischen Vollbild- und BiB-Fenstern. Wir empfehlen dringend, Implementierung aller anwendbaren Änderungen; Anschließend werden diese Änderungen automatisch auf große Bildschirme wie faltbare Smartphones und Tablets, alle weiteren erforderlichen Arbeiten.

Zu diesen Funktionen gehören:

Neue Anrufbenachrichtigungen, mit denen die Wichtigkeit eingehender Anrufe bewertet werden kann

Neuer Benachrichtigungsstil in Android 12 Notification.CallStyle für Telefonanrufe. Mit dieser Vorlage können Sie in Ihrer App die Bedeutung bei aktiven Anrufen durch einen gut sichtbaren Chip, der die Uhrzeit des Anrufs in der Statusleiste kann der Nutzer auf diesen Chip tippen, um zum Anruf zurückzukehren.

Da eingehende und laufende Anrufe für Nutzer am wichtigsten sind, erhalten Benachrichtigungen eine Spitzenposition in der Leiste. Dieses Ranking ermöglicht es auch, um diese priorisierten Anrufe an andere Geräte weiterzuleiten.

Implementieren Sie den folgenden Code für alle Arten von Aufrufen.

Kotlin

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

Java

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

forIncomingCall() verwenden , um eine Benachrichtigung im Stil eines eingehenden Anrufs zu erstellen.

Kotlin

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

Java

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

forOngoingCall() verwenden um eine Benachrichtigung im Anrufstil für einen laufenden Anruf zu erstellen.

Kotlin

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

Java

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

forScreeningCall() verwenden , um eine Benachrichtigung im Anrufstil zum Filtern von Anrufen zu erstellen.

Kotlin

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

Java

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

Erweiterte Bildunterstützung für Benachrichtigungen

In Android 12 können Sie die Benachrichtigungserfahrung in Ihrer App optimieren, indem Sie Bereitstellung animierter Bilder in MessagingStyle() und BigPictureStyle() Benachrichtigungen. Außerdem kann Ihre App es Nutzern jetzt ermöglichen, Bildnachrichten zu senden, wenn Nachrichten über die Benachrichtigungsleiste beantworten.

Verbesserungen im immersiven Modus für die Bedienung über Gesten

Android 12 fasst die bisherige Funktionsweise zusammen, damit Nutzer Sie können im immersiven Modus Modus an. In Android 12 bietet Abwärtskompatibilität für immersive Modus an.

Freigabe der letzten URL (nur Pixel)

Auf Pixel-Geräten können Nutzer jetzt Links zu kürzlich angesehenen Webinhalten teilen direkt von der Seite „Letzte“ aus. Nach dem Aufrufen der Inhalte in einer App können Sie zum Bildschirm „Letzte Apps“ wischen und die App finden, in der sie sich die Inhalte angesehen haben. Tippe dann auf die Link-Schaltfläche, um die URL zu kopieren oder zu teilen.

Weitere Informationen finden Sie unter Zuletzt verwendete URL aktivieren Teilen von Inhalten.

Sicherheit und Datenschutz

Privatsphäredashboard

<ph type="x-smartling-placeholder">
</ph> Eine vertikale Zeitachse zeigt die verschiedenen Apps,
         auf Standortinformationen zugegriffen hat und wann der Zugriff erfolgte.
Abbildung 1: Bildschirm „Standortnutzung“, Teil des Datenschutzes Dashboard

Auf unterstützten Geräten mit Android 12 oder höher wird die Das Dashboard wird in den Systemeinstellungen angezeigt. Über diesen Bildschirm können Nutzer Auf separaten Bildschirmen wird angezeigt, wenn Apps auf Standort, Kamera und Mikrofon zugreifen. Informationen. Jeder Bildschirm zeigt eine Zeitachse, die zeigt, wann verschiedene Apps auf ein bestimmte Art von Daten. Abbildung 1 zeigt die Zeitachse für den Datenzugriff für den Standort. Informationen.

Deine App kann eine Begründung liefern, Nutzer*innen So können Sie nachvollziehen, warum Ihre App auf den Standort, die Kamera oder das Mikrofon zugreift Informationen. Diese Begründung kann auf dem neuen Privatsphäredashboard angezeigt werden, App-Berechtigungsbildschirm oder beides.

Bluetooth-Berechtigungen

Mit Android 12 wird die BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, und BLUETOOTH_CONNECT Berechtigungen. Diese Berechtigungen erleichtern es Apps, Android 12 zur Interaktion mit Bluetooth , insbesondere für Apps, die keine benötigen Zugriff auf den Gerätestandort.

Erklärungen zu Bluetooth-Berechtigungen deiner App aktualisieren

Um Ihr Gerät für die Ausrichtung auf Android 12 oder höher vorzubereiten, aktualisieren Sie der App-Logik. Anstatt einen alten Bluetooth-Satz zu deklarieren Berechtigungen ein moderneres Bluetooth-Gerät Berechtigungen

Berechtigungsgruppen suchen

Unter Android 12 oder höher können Sie abfragen, wie das System von der Plattform bereitgestellte Berechtigungen Berechtigungsgruppen:

App-Overlay-Fenster ausblenden

Um Entwicklern mehr Kontrolle darüber zu geben, was Nutzer sehen, wenn sie mit dem der Entwickler-App bietet Android 12 die Möglichkeit, Overlay-Fenster, die von Apps gezeichnet werden, SYSTEM_ALERT_WINDOW Berechtigung.

Nach der Deklaration der HIDE_OVERLAY_WINDOWS kann eine App setHideOverlayWindows() um anzuzeigen, dass alle Fenster des Typs TYPE_APPLICATION_OVERLAY sollte ausgeblendet werden, wenn das Fenster der App sichtbar ist. Apps könnten sich für eine wenn Sie sensible Bildschirme wie Transaktionsbestätigungsabläufe anzeigen.

Für Apps, die Fenster des Typs TYPE_APPLICATION_OVERLAY anzeigen, sollte Folgendes empfohlen werden: Alternativen, die für ihren Anwendungsfall besser geeignet sind, z. B. Bild im Bild oder Bubbles.

Schutz-Flag für Berechtigungen für bekannte Unterzeichner

Ab Android 12 werden Attribut knownCerts für Berechtigungen auf Signaturebene können Sie auf die Digests bekannter Signaturen Zertifikate bei der Erklärung .

Deine App kann dieses Attribut deklarieren und mit dem Flag knownSigner erlauben, und Apps, um anderen Personen Signaturberechtigungen zu erteilen. Apps, ohne Apps bei der Herstellung und Lieferung des Geräts unterschreiben müssen.

Attestierung von Geräteeigenschaften

Unter Android 12 stehen mehr Apps zur Verfügung, die Geräteeigenschaften überprüfen können, befinden sich in einer Attestierung Zertifikat wenn diese Anwendungen einen neuen Schlüssel generieren.

Ab Android 9 (API-Level 28) werden Geräterichtlinien (DPOs), die Daten nutzen, Keymaster 4.0 oder höher kann Prüfen Sie die Geräteeigenschaften in diesen Attestierungszertifikaten. Beginnt in Android 12, jede App, die auf Android 12 (API-Level 31) oder höher ausgerichtet ist, kann Bestätigung mithilfe des setDevicePropertiesAttestationIncluded() .

Zu den generierten Geräteeigenschaften gehören: Build-Felder:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

Aktionen für sichere Sperrbildschirmbenachrichtigungen

Ab Android 12 wird der Notification.Action.Builder-Kurs verwendet unterstützt die setAuthenticationRequired() mit der Ihre App vorschreiben kann, entsperrt bevor Ihre App eine bestimmte Benachrichtigungsaktion aufruft. Mit dieser Methode können Sie Zusätzliche Sicherheit für Benachrichtigungen auf gesperrten Geräten.

Lokalisierbare Strings für BiometricPrompt

Mit Android 12 werden neue APIs eingeführt, mit denen du die biometrischen Funktionen deiner App verbessern kannst die Nutzerfreundlichkeit der Authentifizierung. Das neue BiometricManager.Strings enthält die verschachtelte Klasse getButtonLabel(), getPromptMessage(), und getSettingName() mit denen Ihre App ein für Nutzer lesbares und lokalisiertes Schaltflächenlabel abrufen kann, oder den Namen der App-Einstellung. Mit diesen Labels können Sie an die Nutzer gerichtete Anweisungen, die speziell für die biometrische Authentifizierung gelten verwendet werden, z. B. „Entsperrung per Gesichtserkennung verwenden“ oder „Fingerabdruck zum Fortfahren verwenden“.

Phishing-Erkennung in Messaging-Apps (nur Pixel)

<ph type="x-smartling-placeholder">
</ph>
Ein Nutzer sieht eine solche Nachricht, wenn er eine verdächtige Nachricht erhält. erkannt wird.

Auf unterstützten Pixel-Geräten wird mit Android 12 Phishing-Erkennung für Nachrichten ausgeführt in beliebten Messaging-Apps empfangen. Das System nutzt maschinelles Lernen auf dem Gerät. um verdächtige Aktivitäten zu erkennen. Wenn das System erkannt wird, Overlay über der Benutzeroberfläche der Messaging-App, um die Nutzer zu warnen. Beispiel: Phishing Erkennung kann Nutzer vor den folgenden potenziellen Risiken warnen:

  • Verdächtige Anfragen, z. B. um einen Code oder Geld zu senden
  • Nicht vertrauenswürdige URLs
  • Schädliche Anhänge
  • Links zu schädlichen Apps

Mit dem Overlay wird nicht nur der Nutzer gewarnt, sondern auch verdächtige Nachricht senden und Feedback zu vom System ausgegebenen Warnungen geben.

Entwickler können diese Funktion deaktivieren, indem sie ein neues Metadaten-Tag hinzufügen, den String com.google.android.ALLOW_PHISHING_DETECTION im App-Manifest der Nutzer Dateien. Beispiel:

<manifest>
    <application android:name="com.messagingapp">
        <meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />

    </application>
</manifest>

Medien

Kompatible Medientranscodierung

Ab Android 12 (API-Level 31) kann das System HEVC(H.265) und HDR (HDR10 und HDR10+) auf dem Gerät aufgezeichnete Videos im AVC (H.264), einem weit verbreiteten Format ist mit Standard-Playern kompatibel. Dabei werden moderne Codecs genutzt, Sie sind verfügbar, ohne dass die Kompatibilität mit älteren Anwendungen beeinträchtigt wird.

Weitere Informationen finden Sie unter Transcodierung von kompatiblen Medien.

Performance-Klasse

Mit Android 12 wird ein Standard mit der Bezeichnung Leistungsklasse eingeführt. A Die Leistungsklasse gibt Hardwarefunktionen an, die über die Android-Basisklasse hinausgehen. Anforderungen. Für jedes Android-Gerät ist die Leistungsklasse deklariert, die es unterstützt. Entwickler können die Leistungsklasse des Geräts zur Laufzeit bieten verbesserte Funktionen, die die Funktionen.

Siehe Leistungsklasse .

Verbesserungen bei der Videocodierung

Android 12 definiert einen Standardsatz von Schlüsseln zur Steuerung des Quantisierungsparameterwert (QP) für die Videocodierung, mit dem Entwickler anbieterspezifischen Code vermeiden.

Die neuen Schlüssel sind verfügbar in der MediaFormat-API und auch in der NDK Media Library.

Ab Android 12 erzwingen Video-Encoder eine Mindestqualität Grenzwert. So wird sichergestellt, dass die Qualität der Nutzererfahrung nicht extrem schlecht ist. wenn Sie Videos mit hoher Szenenkomplexität codieren.

Audiofokus

Ab Android 12 (API-Level 31), wenn eine App den Audiofokus anfordert, während eine andere App den Fokus hat und Inhalte wiedergeben, ausgeblendet das System die App, die gerade die Wiedergabe startet.

Siehe „Audiofokus“ unter Android 12 und höher .

MediaDrm-Updates

Um zu bestimmen, ob eine sichere Decoderkomponente mit dem aktuellen MediaDrm APIs verwenden, müssen Sie so vorgehen:

  1. Erstellen Sie ein MediaDrm.
  2. Öffnen Sie eine Sitzung, um eine Sitzungs-ID zu erhalten.
  3. Erstellen Sie mithilfe der Sitzungs-ID eine MediaCrypto.
  4. MediaCrypto.requiresSecureDecoderComponent(mimeType) anrufen.

Mit den neuen Methoden requiresSecureDecoder(@NonNull String mime) und requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) können Sie dies ermitteln, sobald Sie eine MediaDrm erstellen.

Kamera

Kamera 2-Anbietererweiterungen

Viele unserer Gerätehersteller haben maßgeschneiderte Kameraerweiterungen entwickelt, wie wie Bokeh-, HDR- oder Nachtmodus, mit denen Apps erstellt werden können. eine differenzierte Nutzererfahrung bieten. Das CameraX Bibliothek bereits unterstützt. für diese benutzerdefinierten Anbietererweiterungen. In Android 12 werden diese Anbietererweiterungen werden jetzt direkt auf der Plattform angezeigt.

Diese Ergänzung hilft Apps mit komplexen Camera2 Anbietererweiterungen nutzen, ohne Änderungen am Legacy-Code vorgenommen. Die Camera2 Extension APIs stellen exakte denselben Satz an Erweiterungen als in CameraX arbeiten. Diese werden bereits von Geräte, sodass Sie sie ohne zusätzliche Konfiguration.

Weitere Informationen finden Sie unter CameraExtensionCharacteristics

Unterstützung von Quad Bayer-Kamerasensor

Heutzutage verfügen viele Android-Geräte über hochauflösende Kamerasensoren, in der Regel mit Quad- oder Nona-Bayer-Mustern. Diese bieten große Flexibilität bei bei schlechten Lichtverhältnissen. Android 12 führt neue Plattform-APIs, mit denen Drittanbieter-Apps diese vielseitigen Funktionen Sensoren. Die neuen APIs unterstützen das einzigartige Verhalten dieser Sensoren und berücksichtigen, unterstützt möglicherweise unterschiedliche Streamkonfigurationen und -kombinationen bei der Arbeit in volle Auflösung oder „maximale Auflösung“ und nicht im Modus „Standard“.

Grafiken und Bilder

Apps direkten Zugriff auf Tombstone-Traces gewähren

Ab Android 12 können Sie auf das native Absturz-Tombstone Ihrer App als Protokollpuffer über den ApplicationExitInfo.getTraceInputStream() . Der Protokollzwischenspeicher wird mit diesem Schema serialisiert. Früher konnte man auf diese Informationen nur über das Android Debug Bridge (ADB):

Weitere Informationen finden Sie unter Apps direkten Zugriff auf Tombstone-Traces gewähren.

AVIF-Bildunterstützung

Android 12 unterstützt jetzt Bilder im AV1-Bildformat AVIF. AVIF ist ein Containerformat für codierte Bilder und Abfolgen von Bildern mit AV1. AVIF nutzt die Intra-Frame-codierten Inhalte des Videos Komprimierung. Dadurch wird die Bildqualität bei gleicher Dateigröße erheblich verbessert. im Vergleich zu älteren Bildformaten wie JPEG. Für einen detaillierten Einblick in die Informationen zu den Vorteilen dieses Formats finden Sie im Blog von Jake Archibald Blogpost.

Einfachere Weichzeichner, Farbfilter und andere Effekte

Android 12 fügt die neue RenderEffect hinzu die gängige Grafikeffekte wie Weichzeichner, Farbfilter und Android-Shader anwendet. Effekte und mehr in View und das Rendern von Hierarchien. Effekte können als Ketteneffekte kombiniert werden. (die einen inneren und äußeren Effekt bilden) oder kombinierte Effekte. Anderes Android Geräte unterstützen diese Funktion möglicherweise aufgrund unzureichender Prozessorleistung.

Effekte können auch auf das zugrunde liegende RenderNode angewendet werden. für View Sekunden durch Aufrufen von View.setRenderEffect(RenderEffect).

So implementierst du ein RenderEffect:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

Decodierung animierter Bilder

In Android 12 hat das NDK ImageDecoder API wurde erweitert um alle Frames und Timing-Daten aus Bildern zu decodieren die das animierte GIF und animierte WebP-Dateiformate. Wenn es wurde mit Android 11 eingeführt, decodiert diese API nur das erste Bild aus Animationen in diesen Formaten.

Verwende ImageDecoder anstelle von Drittanbieter-Bibliotheken, um APK weiter zu verringern. Größe und von zukünftigen Sicherheits- und Leistungsupdates profitieren.

Weitere Informationen zur API finden Sie in der API-Referenz und im Beispiel auf GitHub.

Konnektivität

Companion-Apps aktiv lassen

Damit Companion-Apps weiterhin ausgeführt werden können, um das Gerät zu verwalten, Mit Android 12 werden APIs eingeführt, die Folgendes tun:

  • Ermöglicht es, eine App zu aktivieren, wenn sich ein Begleitgerät in Reichweite befindet.
  • Stellen Sie sicher, dass der Prozess weiterhin ausgeführt wird, solange das Gerät Bereich.

Damit Sie die APIs nutzen können, müssen Ihre Geräte über Companion-Gerät verbunden sein. Administrator. Weitere Informationen finden Sie unter CompanionDeviceManager.startObservingDevicePresence() und CompanionDeviceService.onDeviceAppeared()

Profile für Companion-Gerätemanager

<ph type="x-smartling-placeholder">
</ph>
Ein Berechtigungsdialogfeld, in dem ein Companion-Geräteprofil verwendet wird, um mehrere Berechtigungen in einer Anfrage anfordern.

Partner-Apps auf Geräten mit Android 12 (API-Level 31) und höher können Begleitgeräte verwenden Profilen beim Verbinden mit einer Smartwatch. Ein Profil vereinfacht die Registrierung Prozess, indem die Erteilung eines gerätetypspezifischen Satzes von Berechtigungen bündelt wird in einem Schritt zusammengefasst.

Die gebündelten Berechtigungen werden der Companion-App gewährt, sobald das Gerät stellt eine Verbindung her und funktioniert nur so lange, wie das Gerät verknüpft ist. Löschen der App oder Wenn Sie die Verknüpfung entfernen, werden auch die Berechtigungen entfernt.

Weitere Informationen finden Sie unter AssociationRequest.Builder.setDeviceProfile()

Verbesserungen bei der Schätzung der Bandbreite

In Android 12 werden die Funktionen zur Bandbreitenschätzung getLinkDownstreamBandwidthKbps() und getLinkUpstreamBandwidthKbps() werden sowohl für die WLAN- als auch für die Mobilfunkverbindung verbessert. Die jetzt zurückgegebenen Werte stellen den gesamten gewichteten durchschnittlichen Durchsatz des Nutzers pro Mobilfunkanbieter oder WLAN dar. SSID, Netzwerktyp und Signalstärke in allen Anwendungen auf dem Gerät Dies kann eine genauere und realistischere Schätzung des erwarteten Durchsatzes liefern, Schätzungen zu einem Kaltstart Ihrer Anwendung und mit weniger Zyklen im Vergleich zu anderen Methoden zur Durchsatzschätzung.

Verbesserungen für Wi-Fi Aware (NAN)

Android 12 bietet einige Verbesserungen für Wi‐Fi Aware:

  • Auf Geräten mit Android 12 (API-Level 31) und höher können Sie die onServiceLost()-Callback, um benachrichtigt zu werden, wenn in deiner App ein erkannter Dienst aufgrund des wenn der Dienst anhält oder sich außerhalb des zulässigen Bereichs befindet.
  • Die Einrichtung mehrerer Datenpfade (NAN-Datenpfade) wird um effizienter zu werden. Frühere Versionen verwendeten L2-Messaging, um Peers auszutauschen. der Initiatoren, was Latenz verursacht hat. Auf Geräten mit Android 12 und höher, der Teilnehmer (Server) kann konfiguriert werden Peers zu akzeptieren, d. h., sie müssen den Initiator nicht kennen im Voraus zu informieren. Dies beschleunigt die Bereitstellung von Datenpfaden und ermöglicht Punkt-zu-Punkt-Links mit nur einer Netzwerkanfrage.
  • Um zu verhindern, dass das Framework Erkennungs- oder Verbindungsanfragen aufgrund oder die Ressourcen ausgehen, auf Geräten mit Android 12 und und höher können, können Sie WifiAwareManager.getAvailableAwareResources() Mit dem Rückgabewert dieser Methode können Sie die Anzahl der verfügbaren Daten Pfade, die Anzahl der verfügbaren Veröffentlichungssitzungen und die Anzahl der Sitzungen abonnieren.

Gleichzeitige Peer-to-Peer- und Internetverbindung

Wenn Geräte, die auf Android 12 (API-Level 31) und höher ausgerichtet sind, auf Geräten mit Hardware-Unterstützung, mit Peer-to-Peer Verbindungen werden Ihre bestehenden WLAN-Verbindung, wenn Sie die Verbindung zum Peer-Gerät herstellen. Bis Überprüfen Sie, ob diese Funktion unterstützt wird, verwenden Sie WifiManager.isMultiStaConcurrencySupported()

„Display aus“ für NFC-Zahlungen aktivieren

In Apps, die auf Android 12 und höher ausgerichtet sind, können Sie NFC aktivieren ohne dass der Bildschirm des Geräts eingeschaltet ist, indem du requireDeviceScreenOn bis false. Weitere Informationen zu NFC-Zahlungen bei gesperrtem oder gesperrtem Display finden Sie unter Display aus und Sperrbildschirm .

Speicher

Mit Android 12 wird die Speicherverwaltung wie folgt eingeführt: Funktionen:

Hauptfunktion

Automatische App-Updates

Mit Android 12 wird die setRequireUserAction() für Apps, die die Methode PackageInstaller API verwenden. Mit dieser Methode können Installer-Apps App-Updates ausführen, ohne dass die um die Aktion zu bestätigen.

Informationen zum Chipsatz des Geräts

Android 12 fügt android.os.Build zwei Konstanten hinzu, die über das SDK Informationen zum SoC-Chipsatzanbieter und zum Modell. Sie können diese Informationen erhalten, indem Sie Build.SOC_MANUFACTURER und Build.SOC_MODEL aufrufen .

Updates für Java-Kern-APIs

Aufgrund der Anfragen und der Zusammenarbeit mit Entwicklern haben wir Folgendes hinzugefügt: Hauptbibliotheken in Android 12:

Kurs APIs
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime