Overview
Android M (officially Android 6.0 Marshmallow) introduced new platform features focused on user control, security, power efficiency, and app interactions. These changes significantly improved how users manage permissions, standby power, app linking, and system navigation.
This post explains key Android M features and how they impact app behavior and system performance.
Runtime App Permissions
Android M redesigned the permission model to improve user privacy and control. Instead of granting all app permissions at install time, dangerous permissions are requested at runtime.
How Runtime Permissions Work
• Apps request permissions at the moment they need a protected feature (e.g., camera, contacts).
• Users can grant or deny each permission independently.
• Permissions can be revoked at any time from system settings.
This model reduces user anxiety at install time and aligns with modern privacy expectations.
Doze Mode for Battery Optimization
Battery performance was a major focus in Android M. Doze Mode reduces background activity when the device is unused for extended periods.
Doze Mode Behavior
• Detects when the device is idle and stationary.
• Restricts network access and background tasks.
• Allows periodic maintenance windows for deferred jobs.
Developers should use JobScheduler to schedule background work that respects Doze mode constraints.
App Standby
App Standby identifies apps that users rarely interact with and restricts their background activity.
• App Standby limits tasks such as network access or sync.
• Apps exit standby when launched by the user or when foreground activity resumes.
This feature helps prioritize battery and system resources for frequently used apps.
Fingerprint Authentication
Android M introduced native fingerprint support via the Fingerprint API.
Key Capabilities
• System-level fingerprint authentication for device unlock.
• App integration for secure authentication (e.g., payments).
• Consistent hardware and API support across devices.
Apps that implement the Fingerprint API improve security and provide an intuitive login experience.
App Links
App Links extend deep linking by allowing apps to associate domains with specific activities. Once verified, links to those domains open directly in the app without requiring app chooser dialogs.
App Link Requirements
• Add intent filters with auto-verification attributes.
• Host a Digital Asset Links file on the associated web domain.
App Links improve user experience by reducing friction between web and app navigation.
System UI Changes
Android M introduced refinements to common UI behavior:
• Redesigned recent apps overview
• Native support for contextual app shortcuts
• Enhanced volume and power menu controls
These updates provide a more consistent user interaction experience across devices.
Improved Web Experience
Android M improves WebView as a standalone component:
• WebView uses Chromium updates via Google Play
• Supports modern HTML5 and performance enhancements
• Isolated security model for embedded web content
Developers using WebView benefit from faster rendering and updated capabilities.
Permissions Grouping and Granularity
Permissions are grouped into logical sets (e.g., location, contacts, SMS, phone) and categorized as:
• Normal permissions – granted automatically
• Dangerous permissions – require user consent at runtime
This grouping simplifies permission requests and minimizes unnecessary access.
Conclusion on Android M Feature Impact
Android M features focused on user control, battery efficiency, and modern linking/authentication models. Developers targeting Marshmallow and above must adapt to runtime permissions, Doze mode constraints, App Links, and fingerprint integration to align with platform expectations.


