The following table lists all documented features and behavior changes that might affect app developers. Use this list to find changes that affect you, and then click on the corresponding link to read the documentation.
Category | Type | Name |
---|---|---|
Activity lifecycle | Change (all apps) |
Root launcher activities are no longer finished on Back press The system Back button now moves an activity to the background instead of finishing it. |
Backup and restore | Change (apps targeting 12+) |
Changes in backup and restore Include/exclude rules are now specified separately for Google Drive and D2D backups. |
Camera | New features and APIs |
Camera2 vendor extensions OEM-provided custom camera effects are now exposed directly in the platform. |
Camera | New features and APIs |
Quad bayer camera sensor support New platform APIs provide support for ultra high-resolution camera sensors. |
Compatibility | Change (apps targeting 12+) | Updated non-SDK restrictions Some previously unsupported interfaces are blocked in Android 12. |
Compatibility | New features and APIs | Updated toggles for compatibility testing Individual behavior changes can be toggled on and off for more granular compatibility testing. |
Connectivity | Change (all apps) |
Passpoint updates Android 12 introduces new APIs to verify device support for Passpoint features. |
Connectivity | Change (apps targeting 12+) |
Concurrent Peer-to-Peer + Internet Connection On supported devices, the primary Wi-Fi network is no longer disconnected when establishing concurrent peer-to-peer and internet connections. |
Connectivity | Change (apps targeting 12+) |
mDNSResponder native API The mDNSResponder daemon now runs only while it is needed for NSD events. |
Connectivity | New features and APIs |
Keeping companion apps awake Android 12 introduces new APIs to keep companion apps running the entire time the companion device stays in range. |
Connectivity | New features and APIs |
Companion Device Manager profiles Companion device permissions can now be bundled into profiles to simplify the enrollment process. |
Connectivity | New features and APIs | Bandwidth estimation improvements Bandwidth estimates now use all-time weighted averages to improve accuracy for both Wi-Fi and cellular connectivity. |
Connectivity | New features and APIs |
Wi-Fi Aware (NAN) Enhancements New APIs and configuration options improve efficiency and fault tolerance for Wi-Fi Aware. |
Connectivity | New features and APIs |
Concurrent Peer-to-Peer + Internet Connection Supported devices can now maintain simultaneous Wi-Fi connections to a peer device and the primary internet-providing network. |
Connectivity | New features and APIs |
Enable screen off for NFC payments Apps can now enable NFC payments without the device screen turned on. |
Core functionality | New features and APIs |
Automatic app updates A new API method allows installer apps to perform app updates without requiring user confirmation. |
Core functionality | New features and APIs |
Device chipset information SoC chipset vendor and model information are now exposed via the SDK. |
Core functionality | New features and APIs | Updates to core Java APIs Android 12 introduces support for a number of core Java APIs. |
Graphics and images | Change (all apps) |
Improved refresh rate switching The refresh rate can now be changed even when the display doesn't support a seamless transition. |
Graphics and images | New features and APIs |
Provide apps direct access to tombstone traces Native crash tombstones can now be accessed without using adb. |
Graphics and images | New features and APIs | AVIF image support Android 12 introduces support for the AVIF image format, providing better image quality at the same file size. |
Graphics and images | New features and APIs | Easier blurs, color filters, and other effects A new API makes it easier to apply common graphics effects to views and rendering hierarchies. |
Graphics and images | New features and APIs | Native animated image decoding The NDK image decoding API now decodes all frames and timing data for GIF and WebP files. |
Media | New features and APIs | Compatible media transcoding Videos encoded in modern formats can now be converted automatically for playback in apps that do not support those formats. |
Media | New features and APIs |
Performance class Performance classes provide a simplified expression of device capabilities that can be used to provide tailored experiences. |
Media | New features and APIs |
Video encoding improvements Android 12 defines a standard set of keys for controlling the quantization parameter for video encoding. |
Media | New features and APIs |
Audio focus Android now enforces a fade-out when an app that's playing audio loses audio focus. |
Media | New features and APIs | MediaDrm updates New API methods make it simpler to determine whether a secure decoder component is required. |
Performance | Change (all apps) |
Restricted App Standby Bucket Android 12 introduces a new, stricter App Standby Bucket for apps that use system resources less responsibly. |
Performance | Change (apps targeting 12+) | Foreground service launch restrictions Apps are no longer permitted to start foreground services while running in the background. |
Performance | Change (apps targeting 12+) |
Exact alarm permission Apps now require a special permission to set exact alarms. |
Performance | Change (apps targeting 12+) | Notification trampoline restrictions Apps can no longer use intermediary services or broadcast receivers to open an activity when the user taps a notification. |
Security and privacy | Change (all apps) |
Microphone and camera toggles Supported devices allow users to enable or disable microphone and camera access for all apps with a single toggle option. |
Security and privacy | Change (all apps) |
Microphone and camera indicators Status bar icons are now displayed whenever an app accesses the microphone or camera. |
Security and privacy | Change (all apps) |
Permission package visibility Permission info from the package manager is now filtered based on package visibility. |
Security and privacy | Change (all apps) |
BouncyCastle implementation removed Android 12 removes many BouncyCastle implementations of cryptographic algorithms that were previously deprecated. |
Security and privacy | Change (all apps) |
Clipboard access notifications Users are now notified when an app accesses clipboard data from a different app. |
Security and privacy | Change (all apps) | Apps can't close system dialogs Apps can no longer invoke an intent that closes a system dialog. |
Security and privacy | Change (all apps) | Untrusted touch events are blocked Android 12 prevents apps from consuming touch events where an overlay obscures the app in an unsafe way. |
Security and privacy | Change (apps targeting 12+) | Approximate location When an app requests precise location permissions, users can now opt to grant only approximate location permissions instead. |
Security and privacy | Change (apps targeting 12+) | Modern SameSite cookies in WebView Apps now must explicitly specify which cookies are allowed to work across different websites. |
Security and privacy | Change (apps targeting 12+) | Motion sensors are rate-limited The system now limits the refresh rate of data from certain motion sensors and position sensors. |
Security and privacy | Change (apps targeting 12+) | App hibernation Apps are now placed in a hibernation state if the user doesn't interact with them for a few months. |
Security and privacy | Change (apps targeting 12+) | Attribution declaration in data access auditing Apps must now declare attribution tags in the manifest to use them for data access auditing. |
Security and privacy | Change (apps targeting 12+) | ADB backup restriction ADB backups now exclude app data by default. |
Security and privacy | Change (apps targeting 12+) | Safer component exporting Apps must now explicitly declare whether their components that use intent filters are allowed to be launched by other apps. |
Security and privacy | Change (apps targeting 12+) | Pending intents mutability Apps must now specify the mutability of each PendingIntent object that they create. |
Security and privacy | Change (apps targeting 12+) | Unsafe intent launches Android 12 introduces a debugging feature that detects unsafe intent launches. |
Security and privacy | New features and APIs |
Privacy Dashboard Android 12 introduces a new system settings screen that shows access history for location, camera, and microphone data. |
Security and privacy | New features and APIs |
Bluetooth permissions Android 12 introduces new permissions that let apps scan for nearby Bluetooth devices without requesting location permissions. |
Security and privacy | New features and APIs |
Permission group lookup Apps can now query how the system organizes platform-defined permissions into permission groups. |
Security and privacy | New features and APIs | Hide application overlay windows Android 12 introduces a new permission that allows apps to hide overlay windows that are drawn by other apps. |
Security and privacy | New features and APIs |
Known signers permission protection flag Devices and apps can now grant signature permissions to other apps without having to sign them at the time of device manufacture. |
Security and privacy | New features and APIs | Device properties attestation Starting in Android 12, any app that targets Android 12 or higher can verify device properties that are in an attestation certificate. |
Security and privacy | New features and APIs | Secure lockscreen notification actions Apps can now require authentication whenever specific notification actions are invoked on a locked device. |
Security and privacy | New features and APIs |
Localizable strings for BiometricPrompt Android 12 introduces new APIs to retrieve localized, user-readable button labels, prompts, and setting names for biometric authentication. |
Security and privacy | Feature |
Phishing detection in messaging apps (Pixel only) On supported Pixel devices, Android 12 runs phishing detection on messages received in popular messaging apps. |
Storage | New features and APIs |
New directory for voice recordings Android 12 introduces a new directory to store and identify voice recordings. |
Storage | New features and APIs |
Media management access Android 12 introduces a new permission that allows apps to move, modify, and delete files without showing a confirmation dialog each time. |
Storage | New features and APIs |
App storage access Apps can now create a custom activity that allows users to manage the app's data on the device, and expose this activity to file managers. |
Storage | New features and APIs |
Extended file access support MediaStore now supports expanded APIs for media URIs. |
UX | Change (all apps) | Stretch overscroll effect Android 12 introduces new visual behavior for overscroll events. |
UX | Change (all apps) |
App splash screens Apps that previously implemented a custom splash screen must now migrate to the new SplashScreen API. |
UX | Change (all apps) |
Web intent resolution A generic web intent now only resolves to an app's activity if that app is approved for the specific domain contained in that web intent. |
UX | Change (all apps) |
Immersive mode improvements for gesture nav Android 12 replaces existing behaviors for immersive mode with the default behavior: BEHAVIOR_DEFAULT . |
UX | Change (all apps) |
Display#getRealSize and getRealMetrics: deprecation and constraints The Display APIs getRealSize() and getRealMetrics() are deprecated in Android 12. |
UX | Change (all apps) |
All apps in multi-window mode Multi-window mode is now standard behavior on devices with large screens. |
UX | Change (all apps) |
Camera preview on large screens Camera apps that request a specific screen orientation and are not resizable now enter inset portrait mode automatically. |
UX | Change (all apps) | UX delay for foreground service notifications To streamline short-lived tasks, foreground service notifications are now delayed by 10 seconds for certain foreground services. |
UX | Change (apps targeting 12+) | Custom notifications Android 12 enforces visually consistent layout templates for custom notifications. |
UX | Change (apps targeting 12+) |
Android App Links verification changes Domains for Android App Links are now verified only if those domains are declared in a specially-formatted intent filter. |
UX | Change (apps targeting 12+) | Picture-in-Picture (PIP) behavior improvements Android 12 includes improved PiP behavior for single- and double-tapping. |
UX | New features and APIs | Widgets improvements Android 12 comprehensively revamps the visual behavior of app widgets. |
UX | New features and APIs | Rich content insertion Android 12 introduces a unified API for inserting content from any source: clipboard, keyboard, or drag-and-drop. |
UX | New features and APIs |
App splash screens API Android 12 introduces a new splash screen API that enables a customizable app launch animation for all apps. |
UX | New features and APIs | Rounded corner APIs Android 12 introduces new APIs that retrieve the radius and center point for rounded corners. |
UX | New features and APIs | Rich haptic experiences Android 12 introduces new haptic effects and more granular actuator control. |
UX | New features and APIs |
AppSearch Android 12 introduces a high-performance on-device search engine as a system service. |
UX | New features and APIs |
Game mode Android 12 introduces a new API that allows users to optimize game experiences for performance or battery life. |
UX | New features and APIs | Picture-in-Picture (PIP) improvements Android 12 introduces several improvements to picture-in-picture mode that allow for a smoother, more intuitive user experience. |
UX | New features and APIs |
New phone call notifications allowing for ranking importance
of incoming calls Android 12 introduces a new notification style for active phone calls. |
UX | New features and APIs |
Enriched image support for notifications Apps can now provide animated images in certain types of notifications. |
UX | New features and APIs |
Immersive mode improvements for gesture nav Android 12 simplifies immersive mode to make gesture navigation more consistent with user experience during other activities. |
UX | New features and APIs |
Recents URL sharing (Pixel only) Apps can now allow Pixel users to share web content directly from the Recents screen. |
Vendor libraries | Change (apps targeting 12+) |
Vendor-supplied native shared libraries Non-NDK native shared libraries are now only accessible when they are explicitly requested. |