Android 14 features and changes list

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 use the corresponding link to read the documentation.

Category Type Name
Accessibility Change (all apps) Test your app with non-linear font scaling
Because Android supports font scaling up to 200%, you should perform UI testing to ensure that your app can accommodate larger font sizes without impacting usability.
Accessibility New features and APIs Non-linear font scaling to 200%
Android supports font scaling up to 200%, providing low-vision users with additional accessibility options that align with Web Content Accessibility Guidelines (WCAG).
Camera and media New features and APIs Ultra HDR for images
Android 14 adds support for High Dynamic Range (HDR) images that retain more of the information from the sensor when taking a photo, which enables vibrant colors and greater contrast.
Camera and media New features and APIs Zoom, Focus, Postview, and more in camera extensions
Android 14 upgrades and improves camera extensions, allowing apps to handle longer processing times, which enables improved images using compute-intensive algorithms like low-light photography on supported devices.
Camera and media New features and APIs In-sensor zoom
Implement request override controls to give users zoom control even before other camera controls are ready.
Camera and media New features and APIs Lossless USB audio
Android 14 gains support for lossless audio formats for audiophile-level experiences over USB wired headsets.
Core functionality Change (all apps) Schedule exact alarms are denied by default
The SCHEDULE_EXACT_ALARM permission is no longer being pre-granted to most newly-installed apps targeting Android 13 and higher—the permission is denied by default.
Core functionality Change (all apps) Context-registered broadcasts are queued while apps are cached
The system may place context-registered broadcasts in a queue when these broadcasts are queued for delivery to an app that's in the cached state.
Core functionality Change (all apps) Apps can kill only their own background processes
When your app calls killBackgroundProcesses(), the API can kill only the background processes of your own app.
Core functionality Change (all apps) MTU is set to 517 for the first GATT client requesting an MTU
The Android Bluetooth stack more strictly adheres to Version 5.2 of the Bluetooth Core Specification and requests the BLE ATT MTU to 517 bytes when the first GATT client requests an MTU using the BluetoothGatt#requestMtu(int) API, and disregards all subsequent MTU requests on that ACL connection.
Core functionality Change (all apps) New reason an app can be placed in the restricted standby bucket
Android 14 introduces a new reason an app can be placed into the restricted standby bucket.
Core functionality Change (all apps) mlock limited to 64 KB
In Android 14 and higher, the platform reduces the maximum memory that can be locked using mlock() to 64 KB per process.
Core functionality Change (all apps) System enforces cached-app resource usage
Shortly after an app process enters a cached state, background work is disallowed, until a process component re-enters an active state of the lifecycle.
Core functionality Change (apps targeting 14+) Foreground service types are required
If your app targets Android 14 (API level 34) or higher, it must specify at least one foreground service type for each foreground service within your app.
Core functionality Change (apps targeting 14+) Enforcement of BLUETOOTH_CONNECT permission in BluetoothAdapter
Android 14 enforces the BLUETOOTH_CONNECT permission when calling the BluetoothAdapter getProfileConnectionState() method for apps targeting Android 14 (API level 34) or higher.
Core functionality Change (apps targeting 14+) OpenJDK 17 updates
As part of the OpenJDK 17 updates, there are some changes that can affect app compatibility, such as changes to regular expressions and UUID handling.
Core functionality Change (apps targeting 14+) JobScheduler reinforces callback and network behavior
If your app targets Android 14 (API level 34) or higher and exceeds the granted time on the main thread, the app triggers an ANR with the error message.
Developer productivity and tools New features and APIs Credential Manager
Android 14 introduces Credential Manager, which supports multiple sign-in methods, including username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API.
Developer productivity and tools New features and APIs Health Connect
Starting with Android 14, Health Connect is part of the platform and receives updates through Google Play system updates without requiring a separate download.
Developer productivity and tools New features and APIs OpenJDK 17 updates
Android 14 includes features and improvements that further align with the OpenJDK 17 LTS release, including both library updates and Java 17 language support for app and platform developers.
Developer productivity and tools New features and APIs Improvements for app stores
Android 14 introduces several new PackageInstaller APIs that allow app stores to improve their user experience.
Developer productivity and tools New features and APIs App metadata bundles
Starting in Android 14, the Android package installer lets you specify app metadata, such as data safety practices, to include on app store pages such as Google Play.
Developer productivity and tools New features and APIs Screenshot detection
A privacy-preserving API that invokes a callback and displays a toast message when the user takes a screenshot while an app activity is visible.
Graphics New features and APIs Paths are now queryable and interpolatable
Query paths to find out what's inside of them, interpolate between paths whose structures match exactly, and enable morphing effects.
Graphics New features and APIs Custom meshes with vertex and fragment shaders
Android 14 adds support for custom meshes, which can be defined as triangles or triangle strips, and can, optionally, be indexed.
Graphics New features and APIs Hardware buffer renderer for Canvas
To assist in using Android's Canvas API to draw with hardware acceleration into a HardwareBuffer, Android 14 introduces HardwareBufferRenderer.
Internationalization New features and APIs Per-app language preferences
Android 14 expands on the per-app language features that were introduced in Android 13 (API level 33) with some additional capabilities.
Internationalization New features and APIs Grammatical Inflection API
The Grammatical Infection API helps you add support for users who speak languages that have grammatical gender, providing a more personalized and natural-sounding user experience for those languages.
Internationalization New features and APIs Regional preferences
Apps can receive notifications when a user changes their regional preferences and mirror these preferences in app.
Non-SDK interface restrictions Change (apps targeting 14+) Updates to non-SDK interface restrictions
Android 14 includes updated lists of restricted non-SDK interfaces based on collaboration with Android developers and the latest internal testing.
Privacy Change (apps targeting 14+) Partial access to photos and videos
The user can grant partial access to their photos and videos when an app requests any visual media permissions that were introduced in Android 13 (API level 33): READ_MEDIA_IMAGES and READ_MEDIA_VIDEO.
Security Change (all apps) Minimum installable target API level
Apps with a targetSdkVersion lower than 23 can't be installed.
Security Change (all apps) Media owner package names might be redacted
The value of OWNER_PACKAGE_NAME is redacted unless apps meet certain conditions.
Security Change (apps targeting 14+) Restrictions to implicit and pending intents
For apps targeting Android 14 (API level 34) or higher, Android restricts apps from sending implicit intents to internal app components.
Security Change (apps targeting 14+) Runtime-registered broadcasts receivers must specify export behavior
Apps and services that target Android 14 (API level 34) or higher and use context-registered receivers are required to specify a flag to indicate whether or not the receiver should be exported to all other apps on the device.
Security Change (apps targeting 14+) Safer dynamic code loading
If your app targets Android 14 (API level 34) or higher and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only.
Security Change (apps targeting 14+) Additional restrictions on starting activities from the background
Apps that target Android 14 (API level 34) or higher must opt in if they want to grant their background activity launch privileges to another app either when sending that app's PendingIntent, or binding that app's service.
Security Change (apps targeting 14+) Zip path traversal
For apps targeting Android 14 (API level 34) or higher, Android prevents the Zip Path Traversal Vulnerability by restricting what zip file entry names can contain.
User experience Change (all apps) Changes to how users experience non-dismissible notifications
If your app shows non-dismissable foreground notifications to users, Android 14 has changed the behavior to allow users to dismiss such notifications.
User experience Change (all apps) Data safety information is more visible
Your app's data safety information, such as data-sharing practices, now appears in some permission rationale system dialogs and in system notifications.
User experience Change (apps targeting 14+) Secure full-screen Intent notifications
For apps targeting Android 14 (API level 34) or higher, only apps that provide calling and alarms are allowed to use the USE_FULL_SCREEN_INTENT permission to support full-screen intent notifications.
User experience New features and APIs Sharesheet custom actions and improved ranking
Android 14 updates the system sharesheet to support custom app actions and more informative preview results for users.
User experience New features and APIs Support for built-in and custom animations
Apps that use the new system back APIs can opt in to predictive back to automatically receive in-app animations and also support custom transitions.
User experience New features and APIs Large screen OEM per-app overrides
Manifest properties enable you to disable OEM overrides for your app.
User experience New features and APIs Large screen user per-app overrides
Android 14 QPR1 enables users to apply per-app overrides by means of a new settings menu on large screen devices. Apps can disable some overrides.

Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.