Android 15 features and changes list.

Android 15 features and changes list.

Exploring Android 15: New Features, Enhancements, and Key API Changes for Developers.

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