Android Developers Blog
The latest Android and Google Play news for app and game developers.
🔍
Platform Android Studio Google Play Jetpack Kotlin Docs News

19 May 2026

What's New in Wear OS 7


Link copied to clipboard
Posted by John Zoeller, Developer Relations Engineer




Today, we are excited to introduce Wear OS 7, a major update that brings a new era of power efficiency and intelligence to users and developers alike.

We recognize that watches are essential, all-day companions to your users. That’s why we're continuing to invest in power optimizations so your users can do more with their favorite apps. For watches upgrading from Wear OS 6 to Wear OS 7, average users can expect up to 10% improvement in battery life.

As part of a broader rollout to the Android ecosystem, select watches arriving later this year will come with Gemini Intelligence, providing proactive and personalized help to our users so they can focus on what matters.

With Wear OS 7, we’re introducing new system capabilities and enhanced developer tools. New user-facing features like Live Updates, and enhanced media controls deliver a smarter, more intuitive personalized experience on the wrist. And with enhancements to our developer toolkit such as Wear Compose 1.6 and AppFunctions, developers will be able to streamline their apps for efficient, intuitive experiences on the wrist.

Let's dive right in!

Wear OS 7 Canary

You can now try out the next version of Google’s smartwatch platform, Wear OS 7 Canary Emulator, based on Android 17 that's arriving later this year.

The new emulator allows you to get hands-on with the developer features and tools mentioned above while testing your app for compatibility with the upcoming platform.

Check out what’s changed and start testing your app today.

Explore new Wear OS features

Wear OS Widgets


Full-screen Tiles have been a go-to surface on Wear OS, providing users with instant, glanceable access to their essential updates. As the Android ecosystem moves further toward a unified vision for widgets, we’re bringing the watch closer to the rest of the Android family with the goal of minimizing efforts for developers.

Today, we’re excited to introduce the next step in the evolution of Tiles: flexible and dynamic Wear Widgets.

Powered by Jetpack Glance and the new RemoteCompose framework, Wear Widgets offer greater expressiveness and consistency with Compose than the Tiles ProtoLayout libraries. Wear Widgets support two new card layouts—small and large, that align perfectly with the 2x1 and 2x2 formats on mobile, ensuring your designs feel cohesive across devices, while still allowing you to optimize your designs for the wrist.

It’s easy to adapt the UI from the mainSlot of your full-screen tile to a 2x2 Widget. Take a look!

Check out the Widgets I/O Talk later this week for full details on the new features, and try out our Widgets Getting Started Guide to add a Widget to your Wear OS experience.

Live Updates


Wear OS 7 brings Live Updates to watches!

You can use Live Updates to surface real-time, important information from your watch or mobile app, providing your users with timely updates at a glance.

In your watch app, use Live Updates instead of the Ongoing Activities API to provide local update publishing on all Wear 7 devices. For supporting OEMs, Live Updates published by your phone app will also be bridged to users' watches.

Check out how Just Eat provides updates to their users, above!

For more information, check out Notifications on Wear OS.

Connect your app to the intelligence system

We're working on several ways for developers to provide agentic experiences on the watch, from AppFunctions to task automation tools.

We’ll announce these on our developer blog when they’re ready, and provide an all-encompassing developer guide to help you choose the right one and craft a robust implementation. For now, here's a quick look.

AppFunctions


The AppFunctions API allows developers to integrate their apps with agents and assistants, like Google Gemini, enabling users to complete tasks using voice, often replacing the need for step-by-step, manual navigation with your UI.  

For example, to start a run with the Samsung Health app, users are able to tell Gemini: “Start tracking my run.”

We’re currently running an Early Access Program for any developers who are interested. Sign up in our form to express your interest.

Task automation

Also coming soon, without any development effort at all, users will be able to invoke and track automated app tasks, for selected phone apps, directly from their watch, like placing an order with DoorDash!

Keep an eye out for these flexible options on how to prepare and connect your app to the Android intelligence system on our developer blog.

Wear Workout Tracker


We know that building a full-featured, high-quality fitness tracking experience on Wear OS from scratch is resource-intensive, so we built the all new Wear Workout Tracker experience for exercise apps. It will be included in Wear OS later in the year. 

The workout tracker provides a rich standardized workout tracking experience which includes heart rate monitoring, media control, and a collection of other useful features to help you reduce development investment while guaranteeing a high-quality experience for your users.

We’ve been working closely with ASICS Runkeeper to bring it to their users, check it out!

Enhanced System Media Controls in Wear OS 7

Wear OS 7 enhances the System Media Controls, giving users more control and seamless experiences for their media.

Per-App media auto-launch controls

Users can now personalize their media auto-launch experience per-app directly from the System Media Controls on the watch.

For any app where the user has ‘Auto-launch Settings’ toggled on, media controls will automatically appear on the watch when media is started on the phone.

Developers with an existing implementation of media apps that extend on the watch can benefit from this feature without additional effort.

Seamless audio routing with the Remote Output Switcher

Managing audio output is now easier than ever with the new Remote Output Switcher integrated into the System Media Controls. 

When listening to media on a paired phone, users can effortlessly switch the device the media is played back on directly from their wrist.

UI Library updates

To go along with all these new features for users, we’re introducing some powerful enhancements to our developer toolkits to help developers prepare for the future of Wear OS!

Compose for Wear OS 1.6

As the foundation for Wear OS development, Compose for Wear OS 1.6 has arrived.

It includes powerful updates including:

Streamlined navigation with Navigation 3

Developers can Integrate with Navigation 3 to provide a more flexible and Compose-idiomatic way to handle navigation on Wear OS.

@Composable
fun WearApp() {
    val backStack = rememberNavBackStack(MenuScreen)
    WearAppTheme {
        AppScaffold {
            val entryProvider = remember {
                entryProvider<NavKey> {
                    entry<MenuScreen> { GreetingScreen() }
                    entry<ListNavScreen> { ListScreen() }
                }
            }
            val swipeDismissableSceneStrategy = rememberSwipeDismissableSceneStrategy<NavKey>()
            NavDisplay(
                backStack = backStack,
                entryProvider = entryProvider,
                sceneStrategies = listOf(swipeDismissableSceneStrategy)
            )
        }
    }
}
List management improvements for TransformingLazyColumn

Significant improvements are here for advanced list management with TransformingLazyColumn, including enhanced padding support via the new minimumVerticalContentPadding modifier, and other new features like snapping and reverse layout.

val listState = rememberTransformingLazyColumnState()

val transformationSpec = rememberTransformationSpec()


/*

 * TransformingLazyColumn takes care of the horizontal and vertical

 * padding for the list and handles scrolling.

 */

ScreenScaffold(scrollState = listState) { contentPadding ->

    TransformingLazyColumn(

        state = listState,

        contentPadding = contentPadding

    ) {

        item {

            ListHeader(

                modifier = Modifier

                    .fillMaxWidth()

                    .transformedHeight(this, transformationSpec)

                    .minimumVerticalContentPadding(

                        ListHeaderDefaults.minimumTopListContentPadding

                    ),

                    transformation = SurfaceTransformation(transformationSpec)

            ) { Text(text = "Header") }

        }

    }

}


Optimize ambient experiences with LocalAmbientModeManager

The all new LocalAmbientModeManager is optimized for handling ambient flows, giving developers greater control over how their ambient experiences are presented to users.

override fun onCreate(savedInstanceState: Bundle?) {

    setContent {

        val ambientModeManager = rememberAmbientModeManager()

        CompositionLocalProvider(LocalAmbientModeManager provides ambientModeManager) {

            val localAmbientModeManager = LocalAmbientModeManager.current

            val ambientMode = localAmbientModeManager?.currentAmbientMode


            Column(

                verticalArrangement = Arrangement.Center,

                horizontalAlignment = Alignment.CenterHorizontally,

                modifier = Modifier.fillMaxSize(),

            ) {

                val ambientModeName =

                    when (ambientMode) {

                        is AmbientMode.Interactive -> "Interactive"

                        is AmbientMode.Ambient -> "Ambient"

                        else -> "Unknown"

                    }


                val color = if (ambientMode is AmbientMode.Ambient) Color.Gray

                    else Color.Yellow

                Text(text = "$ambientModeName Mode", color = color)

            }

        }

    }

}


Protolayout & Tiles updates

While we encourage developers to adopt the new Wear Widgets, we will continue to support our Protolayout and Tiles libraries for some time, and we’ve got new stable versions of both.

Protolayout 1.4 and Tiles 1.6 work together to provide several notable new features including:

  • Inlined Image Resources: ImageResource can now be directly inlined within a layout, and Tiles now support automatic resource collection through ProtoLayoutScope,removing the need for manual resource mapping and splitting into separate methods. In addition to better code quality, this improves Tiles loading latency via consolidation into a single binder call from system to the provider service.
  • Material3TileService: Tiles can be implemented as a Material3TileService – an all-encompassing suspend function which returns both tile layout and resources, while automatically managing the MaterialScope and ProtoLayoutScope to simplify the development experience.
  • Dynamic Service Switching: On Wear 7, multiple TileService instances can now be grouped in the manifest to enable dynamic switching between different services that represent the same tile.

Check out the new Tiles sample here.

WFF 5

Watch Face Format version 5 (WFF5) is now available with a host of new features to make it easier to build watch faces, including:

  • Enhanced Alignment Options: Text elements like TextCircular have additional alignment options, including verticalAlign on the same baseline for multiple text elements.
  • Auto-Size Enhancements: isAutoSize can now be used on TextCircular,and a new attribute, minSize, has been added to the Font element to limit the minimum size when autosizing is enabled.
  • Blend Modes: Group and ComplicationSlot elements now support blend mode, in addition to existing support on Part* elements.
  • Stroke Joins: Stroke and WeightedStroke elements now include a join attribute.
  • Hierarchical settings: User Styles can now be structured as a hierarchy, where some settings are visible only when other settings have specific values. User Styles can now enable or disable complication slots as well. These can be configured using the childSettingIds and complicationSlotIds on User Style Options.

Check out our new developer guidance to learn more about WFF 5.

Start building for Wear OS 7 now

With these updates, there’s never been a better time to develop an app on Wear OS. These technical resources are a great place to learn more about how to get started:

We’re looking forward to seeing the experiences that you build on Wear OS!

Explore this announcement and all Google I/O 2026 updates on io.google.