Scoped storage is enforced
Apps targeting Android 11 cannot use requestLegacyExternalStorage; scoped storage applies.
What to doUse app-specific directories, MediaStore or the Storage Access Framework.
Conversation notifications and bubbles
Android 11 was shaped by a year of remote work and a renewed focus on privacy.
Permissions had become routine grants that users did not revisit, and the kernel still varied wildly between devices.
Android 11 added one-time permissions, permission auto-reset, package visibility filtering, conversation notifications, and GKI, which made the kernel updatable.
The kernel became something Google could update.
What changed underneath the APIs. These are the changes this site's architecture modules explain in depth.
The full archive has every recorded change with its migration advice.
Apps targeting Android 11 cannot use requestLegacyExternalStorage; scoped storage applies.
What to doUse app-specific directories, MediaStore or the Storage Access Framework.
An app must request background location separately, and the system may show a second prompt.
What to doExplain the need and handle denial of background location independently of foreground location.
Users can grant camera, microphone or location for one session only.
What to doCheck permission state each time and handle revocation between sessions.
Permissions are reset for apps that go unused for a few months.
What to doCheck permissions at runtime rather than caching the result forever.
Apps only see installed packages they declare an interest in through a <queries> element.
What to doDeclare <queries> for packages you need to discover, or use the intent-based APIs.
Foreground services have restricted access to camera and microphone while in the background.
What to doDo the work while visible, or use the appropriate foreground service type.
Conversations must be marked as such to get the new notification treatment.
What to doSet the conversation shortcut and the notification category so conversations rank correctly.
The system enforces insets for cutouts and curved edges more strictly.
What to doUse WindowInsets APIs instead of hard-coded system bar heights.
The user can disable the microphone and camera system-wide.
What to doHandle unavailable sensors and inform the user what is happening.
Apps can be installed and launched before the download finishes.
What to doMake sure your app handles being launched with partial resources.
Incremental installs use the v4 signature.
What to doUpdate the signing setup in CI so builds produce a v4 signature.
BIND_CONTROLSunknownBIND_QUICK_ACCESS_WALLET_SERVICEsignatureINTERACT_ACROSS_PROFILESunknownLOADER_USAGE_STATSsignature|privileged|appopMANAGE_EXTERNAL_STORAGEsignature|appop|preinstalledNFC_PREFERRED_PAYMENT_INFOnormalQUERY_ALL_PACKAGESnormalREAD_PRECISE_PHONE_STATEunknownThis release shipped on Linux kernel versions 4.14, 4.19, 5.4. Kernel versions vary by device.