Android PlatformUpdated April 2026

Android ongoing notifications,
the Live Activities equivalent

Ongoing notifications are how Android does the things iOS Live Activities do — navigation, music, calls, deliveries. Persistent, glanceable, system-managed.

Quick answer

An ongoing notification is an Android notification marked as representing something currently happening. It cannot be swiped away, stays at the top of the shade, and is typically backed by a foreground service. Functionally it is the Android equivalent of an iOS Live Activity.

What Are Android Ongoing Notifications?

When you set setOngoing(true) (or use the foreground-service notification path), Android marks the notification as “something is happening right now.” The system keeps it pinned, prevents the user from swiping it away, and surfaces it across the lock screen, status bar, and chips like Pixel's “At a Glance” row.

Unlike a one-shot push from FCM/APNs, an ongoing notification is your app's in-place UI for an event that is actively in progress.

How They Work

1

You build the notification

NotificationCompat.Builder with a channel, content title, content text, optional progress, and setOngoing(true).

2

You start a foreground service

startForegroundService(...) and inside the service call startForeground(NOTIF_ID, notification, FOREGROUND_SERVICE_TYPE_*) so Android keeps the process alive.

3

You update the notification

Whenever the data changes, rebuild the notification (or mutate it via setProgress / setContentText) and re-post with the same ID. The system replaces in place.

Notification Styles That Matter for Live Use Cases

MediaStyle

Best for music, podcasts, video. Renders rich playback controls in the notification, lock screen, and the system media output picker.

CallStyle

For incoming/ongoing/screening calls. Surfaces full-screen UI on lock screen and a live chip in the status bar.

DecoratedCustomViewStyle

Custom RemoteViews for layouts the standard styles cannot express (e.g. an order-tracker timeline).

ProgressStyle (Android 16+)

New rich progress UI for delivery/ride/order tracking with steps, milestones, and segment colors.

BigTextStyle / BigPictureStyle

For richer expanded UI on a non-live ongoing notification (e.g. an upload status with a thumbnail).

InboxStyle

Multiple lines of progress text. Useful for sync or batch status.

Best Use Cases for Ongoing Notifications

Turn-by-turn navigation

Google Maps, Waze, Apple-Maps-on-Android lookalikes. Updates per turn / per second.

Audio playback

Spotify, YouTube Music, podcast apps. MediaStyle integrates with the lock screen, Quick Settings, and Bluetooth controls.

Ride / delivery tracking

Uber, DoorDash, parcel-tracking apps. Show driver name, ETA, status with ProgressStyle (16+).

Calls and meetings

WhatsApp, Zoom, Telephony app. CallStyle gives you a system-wide call experience.

Workouts and timers

Strava, Nike Run Club, fitness trackers. Update per second; the user can pause from the notification.

Long downloads / uploads

File sync, OTA updates, video exports. Use ProgressStyle and the foreground service type dataSync.

Pairing With a Foreground Service

Android requires that anything keeping the device busy with live updates run as a foreground service. Ongoing notifications are how that service announces itself to the user.

The notification + foreground service combination is essentially a single contract: “I'm doing X right now; here is the UI, here is the type of work, the user can stop me.” Read more in Android Foreground Services Explained.

Since Android 14 you must declare the FGS type (location, mediaPlayback, dataSync, phoneCall, camera, microphone, mediaProjection, health, remoteMessaging, systemExempted, shortService, specialUse) in your manifest. Android 15 enforces stricter rules around starting them from the background.

Ongoing Notifications vs iOS Live Activities

Android ongoing notification

Lives in the notification shade, lock screen, and status bar chip. Less visually rich than a Live Activity, but very flexible.

iOS Live Activity

Lives on the Lock Screen and Dynamic Island. Visually richer and more tightly integrated into the system UI.

Android ProgressStyle (16+) and Live Updates

Google’s push to make ongoing notifications closer in feel to Live Activities — see Android Live Updates.

Cross-platform pattern

Build the experience once in your app logic; render an ongoing notification on Android and a Live Activity on iOS from the same data model.

For richer Material-You-style live notifications, see Android Live Updates. For the visual surface, see Dynamic Island on iOS and Pixel's At a Glance on Android.

Frequently Asked Questions

What is an ongoing Android notification?

An ongoing notification is an Android notification flagged as "this represents something currently happening". It cannot be swiped away by the user, sticks at the top of the shade, and is typically backed by a foreground service. Used for navigation, music playback, ride tracking, calls, and downloads.

Are Android ongoing notifications the equivalent of iOS Live Activities?

Functionally, yes — they are the closest existing answer. They keep glanceable information visible while an event is happening and update in place. Visually, however, they are less rich and less tightly integrated into the system UI than Live Activities. Google’s newer Live Updates in Material You are a step toward closing that gap.

How is an ongoing notification different from a regular push?

A regular push appears once, can be swiped away, and goes to the notification log. An ongoing notification stays put until the underlying event ends or your code dismisses it. Regular pushes use FCM. Ongoing notifications are usually local — your foreground service builds and updates them.

Do you need a foreground service for an ongoing notification?

Almost always, yes. On Android 14+ Google requires that any long-lived "live" experience runs as a foreground service with a typed FGS declaration (location, mediaPlayback, dataSync, phoneCall, etc.) and surfaces a notification.

Which Android styles are best for ongoing notifications?

MediaStyle (for audio/video playback with controls), CallStyle (for incoming/ongoing calls), DecoratedCustomViewStyle (for custom layouts), and ProgressStyle (Android 16, for live progress like deliveries). Use the right style and the system will render it richly across surfaces.

Can I update an ongoing notification frequently?

Yes — call NotificationManager.notify() with the same ID and a refreshed builder. Update at most every few seconds (e.g. once per second for navigation) and never on the main thread. The system collapses very-frequent updates.

Ship a real Android app with ongoing notifications.

Newly turns a one-line idea into a complete native iOS + Android app — ongoing notifications, foreground services, widgets, and FCM included.