Android 15 features and changes list.

Romman SabbirRomman Sabbir
6 min read

Accessibility

  • Better Braille: TalkBack now supports Braille displays using the HID standard over USB and secure Bluetooth.

Camera and Media

  • Direct and Offload Audio Playback: Invalidates previously open direct or offload audio tracks when resource limits are reached.

  • Audio Focus Restrictions: Apps targeting Android 15+ must be the top app or running an audio-related foreground service to request audio focus.

  • Low Light Boost: New auto-exposure mode available for Camera2 and night mode camera extension.

  • In-App Camera Controls: New extensions added for more control over camera hardware and algorithms.

  • HDR Headroom Control: Allows control over HDR headroom to balance between SDR and HDR content.

  • Loudness Control: Introduces the LoudnessCodecController API based on the CTA-2075 standard to manage audio loudness inconsistencies.

  • Virtual MIDI 2.0 Devices: Extends UMP support to virtual MIDI apps, enabling them to function as virtual MIDI 2.0 devices.

  • Efficient AV1 Software Decoding: dav1d, the popular AV1 software decoder, is now available for devices lacking hardware support for AV1 decoding.

  • Spatializer over Virtualizer: The Virtualizer class is deprecated; use Spatializer instead.

Connectivity

  • Satellite Support: Expanded platform support for satellite connectivity, including UI elements for a consistent user experience.

  • Smoother NFC Experiences: Enhanced reliability and seamlessness in tap-to-pay experiences while supporting the NFC app ecosystem.

  • Wallet Role: New role introduced for tighter integration with the user’s preferred wallet app.

Core Functionality

  • Changes to Package Stopped State: Apps can only be removed from the FLAG_STOPPED state through direct or indirect user action. Pending intents are canceled when an app enters the stopped state.

  • Support for 16 KB Page Sizes: Android system now supports 16 KB page sizes; apps should be tested in a 16 KB environment.

  • Private Space: New feature allowing users to create a separate space with additional authentication for sensitive apps.

  • PNG-based Emoji Font Removal: The legacy PNG-based emoji font file (NotoColorEmojiLegacy.ttf) has been removed in favor of the vector-based file.

  • Minimum Installable Target API Level: Apps targeting below API level 24 can no longer be installed.

  • Media Processing Foreground Service Type: Introduces a new foreground service type, mediaProcessing, for operations like media file transcoding.

  • Restrictions on BOOT_COMPLETED Broadcast Receivers: Apps targeting Android 15+ are restricted from launching some foreground services via BOOT_COMPLETED receivers.

  • Do Not Disturb (DND) Restrictions: Apps targeting Android 15+ cannot modify the global state or policy of DND mode.

  • OpenJDK API Changes: Updates to OpenJDK APIs that may affect app compatibility, including changes to string formatting, language code handling, and random int sequences.

  • WebSQL Deprecation: WebSQL-related methods in WebSettings are deprecated in Android WebView.

Developer Productivity and Tools

  • OpenJDK 17 Updates: Alignment of Android’s core libraries with OpenJDK 17 LTS features.

  • PDF Improvements: Significant enhancements to the PdfRenderer APIs.

  • Automatic Language Switching Refinements: Additional controls for apps to fine-tune automatic language switching.

  • OpenType Variable Font API: Improved usability of the OpenType variable font.

  • Granular Line Break Controls: TextView can now preserve text portions on the same line for better readability.

  • App Archiving: OS-level support for app archiving and unarchiving, simplifying implementation for all app stores.

Graphics

  • Modernizing GPU Access: Introduction of ANGLE as an optional layer for running OpenGL ES on Vulkan. Some new devices will only support OpenGL through ANGLE.

  • Canvas Improvements: Continued modernization of Android's Canvas graphics system with new capabilities.

Internationalization

  • CJK Variable Font: NotoSansCJK is now a variable font for Chinese, Japanese, and Korean languages.

  • Inter-character Justification: Text can now be justified utilizing letter spacing using JUSTIFICATION_MODE_INTER_CHARACTER.

  • Automatic Line Break Configuration: Phrase-based line breaks can be applied for short text lines using LINE_BREAK_WORD_STYLE_AUTO.

  • New Japanese Hentaigana Font: A new font for old Japanese Hiragana (Hentaigana) is bundled by default.

Large Screens and Form Factors

  • Improved Multitasking: Enhanced multitasking support for large screen devices.

  • Cover Screen Support: Apps can declare a property to allow presentation on small cover screens of flippable devices.

Non-SDK Interface Restrictions

  • Updates to Restrictions: Updated lists of restricted non-SDK interfaces based on collaboration with developers and internal testing.

Performance and Battery

  • ApplicationStartInfo API: Provides insight into app startup, including state, launch phases, and more.

  • Detailed App Size Information: New API StorageStats.getAppBytesByDataType() offers insights into app space usage.

  • App-managed Profiling: Introduction of the ProfilingManager class for collecting app profiling information.

  • SQLite Database Improvements: New SQLite APIs exposing advanced features for addressing performance issues.

  • Android Dynamic Performance Framework Updates: Continued investment in APIs for games and performance-intensive apps to interact directly with power and thermal systems.

Privacy

  • Screen Recording Detection: Apps can now detect if they are being recorded.

  • Expanded IntentFilter Capabilities: Support for more precise Intent resolution through UriRelativeFilterGroup.

  • Private Space: Users can create a separate, secure space for sensitive apps, with restricted visibility and additional authentication.

  • Selected Photos Access: Apps can now highlight the most recently selected photos and videos when partial media access is granted.

  • Privacy Sandbox on Android: Inclusion of the latest Privacy Sandbox extensions for improved privacy and personalized advertising experiences.

  • Health Connect: Integration of the latest Health Connect extensions, supporting new health and fitness data types.

  • Partial Screen Sharing: Support for sharing or recording just an app window, with customizable partial screen sharing experiences.

Security

  • Secured Background Activity Launches: Further restrictions on malicious background apps launching other apps to the foreground in Android 15+.

  • Safer Intents: Intents targeting specific components must match intent-filter specifications accurately, and intents without an action no longer match any filters.

  • Credential Manager Integration: Developers can link views like username or password fields with Credential Manager requests for a tailored user experience.

  • Single Tap Sign-up and Sign-in with Biometrics: Integration of biometric prompts into credential creation and sign-in processes via Credential Manager.

  • Key Management for End-to-End Encryption: Introduction of the E2eeContactKeysManager class for end-to-end encryption in Android apps.

  • Permission Checks on Content URIs: New APIs introduced for performing permission checks on content URIs.

User Experience and System UI

  • Predictive Back Animations: System animations for back-to-home, cross-task, and cross-activity now appear for apps opted into predictive back gestures.

  • Edge-to-Edge Enforcement: Apps targeting Android 15 must handle UI insets to avoid negative impacts on user experience.

  • Stable Configuration: Configuration no longer excludes system bars for apps targeting Android 15 or higher.

  • Elegant Text Height Default: The elegantTextHeight attribute in TextView defaults to true, improving readability.

  • TextView Width for Complex Letter Shapes: TextView now allocates enough space for complex letter shapes, preventing clipping.

  • Locale-aware Default Line Height for EditText: Minimum line height is reserved for EditText to match the reference font for the specified Locale.

  • Richer Widget Previews: Support for generated previews in widgets using the Generated Previews API.

  • Picture-in-Picture Enhancements: Activity#onPictureInPictureUiStateChanged callback triggered at the start of picture-in-picture animation.

  • Improved Do Not Disturb Rules: Enhanced rules for customizing Attention Management (Do Not Disturb) to improve user experience.

  • Notification Channel Vibration Effect: Support for setting rich vibration effects for incoming notifications by channel.

Official Update: https://ylnk.xyz/@QVFTTz


That's it for today. Happy Coding...

0
Subscribe to my newsletter

Read articles from Romman Sabbir directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Romman Sabbir
Romman Sabbir

Senior Android Engineer from Bangladesh. Love to contribute in Open-Source. Indie Music Producer.