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