Zygote
API 15 · ICE_CREAM_SANDWICH_MR1

Android 4.0.3 Ice Cream Sandwich

Bug fixes and CDMA optimisations

released
2011-12-16
runtime
Dalvik
design
Holo
status
stable

What shipped

  • Bug fixes and CDMA optimisations

What developers had to deal with

  • New calendar and media provider APIs

Behaviour changes

The full archive has every recorded change with its migration advice.

targetingui

Edge-to-edge enforcement begins

Apps targeting Android 15 draw edge-to-edge by default and the system ignores some APIs that hid the system bars.

What to doApply insets to your content and stop relying on deprecated inset APIs.

targetingbackground

Foreground service dataSync timeout

Data-sync foreground services have a time limit, after which the system stops them.

What to doRestructure long syncs into WorkManager or user-initiated data transfer jobs.

targetingmedia

Background audio hardening

Android 15 restricts apps that start audio playback from the background without a valid foreground service.

What to doStart audio from a foreground service with the mediaPlayback type if playback must continue in the background.

targetingsecurity

SQLite strict mode by default

Apps targeting Android 15 get SQLite strict behaviour, which rejects ambiguous or unsafe SQL.

What to doFix queries that rely on loose type coercion or non-standard syntax.

all appsruntime

16 KB page size support

Android 15 devices may use 16 KB memory pages, so native libraries must be aligned accordingly.

What to doBuild native code with 16 KB alignment and test on a 16 KB emulator image.

all appsnotifications

Notification cooldown

The system reduces notification sound volume when many notifications arrive rapidly.

What to doNo app change; batch or group notifications sensibly.

all appspermissions

Restricted screen reading

Android 15 restricts access to screen content for apps that are not the default assistant or accessibility services.

What to doUse the MediaProjection consent flow for screen capture instead of relying on accessibility shortcuts.

targetingsecurity

Foreground service types are enforced for more cases

Android 15 expands which foreground service types require matching permissions and declarations.

What to doAudit every foreground service and declare the narrowest correct type with its permission.

all appsstorage

Media projection consent changes

Android 15 changes the screen-sharing consent UI and lets the user share a single app instead of the whole screen.

What to doHandle partial-screen sharing and the new consent flow in screen capture features.

all appsprivacy

Private Space

Android 15 adds Private Space, a separately locked profile for apps and data, which affects package visibility and cross-profile behaviour.

What to doDo not assume a fixed number of profiles; query profiles through UserManager.

Where this sits

Release 15 of 37 API levels, by date
Headline features
1
Architecture changes
0
Developer changes
1
Sources cited
2

Kernel

This release shipped on Linux kernel versions 3.0.8. Kernel versions vary by device.