Google is committed to advancing racial equity for Black communities. See how.

Access the Wearable Data Layer

To call the Data Layer API, use the Wearable class to get instances of the various client classes, such as DataClient and MessageClient.

Refer to the following related resources:

Note: A Wear app can communicate with a phone app using the Data Layer API, but connecting to a network using this API is discouraged. This API is currently only available on Android phones and Wear OS watches that are paired with Android phones.

Use a minimal client

A minimal client, as shown in the following example, is enough to begin. See Accessing Google Play services APIs for additional information:


val dataClient: DataClient = Wearable.getDataClient(context)


DataClient dataClient = Wearable.getDataClient(context);

The context can be any valid Android context. If you are using the API within the scope of an Activity, use the getDataClient(activity) method of the Wearable class, which allows certain interactions to appear as dialogs rather than as notifications, e.g., if the user is asked to update their version of Google Play services.

By default, callbacks to listeners are made on the app's main UI thread. To have callbacks made on a different thread, use a WearableOptions object to specify a custom Looper (see WearableOptions.Builder):


val dataClient: DataClient =
        Wearable.WearableOptions.Builder().setLooper(myLooper).build().let { options ->
            Wearable.getDataClient(context, options)


WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

Wearable API clients, such as DataClient and MessageClient, are inexpensive to create and don't need to be created only once and held onto. Use the style that suits your app. The client state, such as the set of registered listeners, is shared across all clients, and is preserved if Google Play services is updated while an app is running.