public interface

# CapabilityApi

com.google.android.gms.wearable.CapabilityApi

## Class Overview

Exposes an API to learn about capabilities provided by nodes on the Wear network.

Capabilities are local to an application.

## Summary

Nested Classes
interface | CapabilityApi.AddLocalCapabilityResult | Result returned from `addLocalCapability(GoogleApiClient, String)`
@interface | CapabilityApi.CapabilityFilterType |
interface | CapabilityApi.CapabilityListener | Listener for changes in the reachable nodes providing a capability.
interface | CapabilityApi.GetAllCapabilitiesResult | Result returned from `getAllCapabilities(GoogleApiClient, int)`
interface | CapabilityApi.GetCapabilityResult | Result returned from `getCapability(GoogleApiClient, String, int)`
@interface | CapabilityApi.NodeFilterType |
interface | CapabilityApi.RemoveLocalCapabilityResult | Result returned from `removeLocalCapability(GoogleApiClient, String)`

Constants
String | ACTION_CAPABILITY_CHANGED | Capability changed action for use in manifest-based listener filters.
int | FILTER_ALL | Filter type for `getCapability(GoogleApiClient, String, int)`, `getAllCapabilities(GoogleApiClient, int)`: If this filter is set then the full set of nodes that declare the given capability will be included in the capability's `CapabilityInfo`.
int | FILTER_LITERAL | Filter type for `addListener(GoogleApiClient, CapabilityListener, Uri, int)`, if this filter is set, the given URI will be taken as a literal path, and the operation will apply to the matching capability only.
int | FILTER_PREFIX | Filter type for `addListener(GoogleApiClient, CapabilityListener, Uri, int)`, if this filter is set, the given URI will be taken as a path prefix, and the operation will apply to all matching capabilities.
int | FILTER_REACHABLE | Filter type for `getCapability(GoogleApiClient, String, int)`, `getAllCapabilities(GoogleApiClient, int)`: If this filter is set then only reachable nodes that declare the given capability will be included in the capability's `CapabilityInfo`.

Public Methods
abstract PendingResult<Status> | addCapabilityListener(GoogleApiClient client, CapabilityApi.CapabilityListener listener, String capability) Registers a listener to be notified of a specific capability being added to or removed from the Wear network.
abstract PendingResult<Status> | addListener(GoogleApiClient client, CapabilityApi.CapabilityListener listener, Uri uri, int filterType) Registers a listener to be notified of capabilities being added to or removed from the Wear network.
abstract PendingResult<CapabilityApi.AddLocalCapabilityResult> | addLocalCapability(GoogleApiClient client, String capability) Announces that a capability has become available on the local node.
abstract PendingResult<CapabilityApi.GetAllCapabilitiesResult> | getAllCapabilities(GoogleApiClient client, int nodeFilter) Returns information about all capabilities, including the nodes that declare those capabilities.
abstract PendingResult<CapabilityApi.GetCapabilityResult> | getCapability(GoogleApiClient client, String capability, int nodeFilter) Returns information about a capability, including the nodes that declare that capability.
abstract PendingResult<Status> | removeCapabilityListener(GoogleApiClient client, CapabilityApi.CapabilityListener listener, String capability) Removes a listener which was previously added through `addCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)`.
abstract PendingResult<Status> | removeListener(GoogleApiClient client, CapabilityApi.CapabilityListener listener) Removes a listener which was previously added through `addListener(GoogleApiClient, CapabilityApi.CapabilityListener, Uri, int)`.
abstract PendingResult<CapabilityApi.RemoveLocalCapabilityResult> | removeLocalCapability(GoogleApiClient client, String capability) Announces that a capability is no longer available on the local node.

## Constants

#### public static final String ACTION_CAPABILITY_CHANGED

Capability changed action for use in manifest-based listener filters.

Capability events do not support filtering by host, but can be filtered by path.

##### See Also

- `WearableListenerService`

Constant Value: "com.google.android.gms.wearable.CAPABILITY_CHANGED"

#### public static final int FILTER_ALL

Filter type for `getCapability(GoogleApiClient, String, int)`, `getAllCapabilities(GoogleApiClient, int)`: If this filter is set then the full set of nodes that declare the given capability will be included in the capability's `CapabilityInfo`.

Constant Value: 0 (0x00000000)

#### public static final int FILTER_LITERAL

Filter type for `addListener(GoogleApiClient, CapabilityListener, Uri, int)`, if this filter is set, the given URI will be taken as a literal path, and the operation will apply to the matching capability only.

Constant Value: 0 (0x00000000)

#### public static final int FILTER_PREFIX

Filter type for `addListener(GoogleApiClient, CapabilityListener, Uri, int)`, if this filter is set, the given URI will be taken as a path prefix, and the operation will apply to all matching capabilities.

Constant Value: 1 (0x00000001)

#### public static final int FILTER_REACHABLE

Filter type for `getCapability(GoogleApiClient, String, int)`, `getAllCapabilities(GoogleApiClient, int)`: If this filter is set then only reachable nodes that declare the given capability will be included in the capability's `CapabilityInfo`.

Constant Value: 1 (0x00000001)

## Public Methods

#### public abstract PendingResult<Status> addCapabilityListener (GoogleApiClient client, CapabilityApi.CapabilityListener listener, String capability)

Registers a listener to be notified of a specific capability being added to or removed from the Wear network. Calls to this method should be balanced with `removeCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)` to avoid leaking resources.

Listener events will be called on the main thread, or the handler specified on `client` when it was built (using `setHandler(Handler)`).

Callers wishing to be notified of events in the background should use `WearableListenerService`.

#### public abstract PendingResult<Status> addListener (GoogleApiClient client, CapabilityApi.CapabilityListener listener, Uri uri, int filterType)

Registers a listener to be notified of capabilities being added to or removed from the Wear network. Calls to this method should be balanced with `removeListener(GoogleApiClient, CapabilityApi.CapabilityListener)` to avoid leaking resources.

`uri` and `filterType` can be used to filter the capability changes sent to the listener. For example, if `uri` and `filterType` create a prefix filter, then only capabilities matching that prefix will be notified. The `uri` follows the rules of the <data> element of <intent-filter>. The path is ignored if a URI host is not specified. To match capabilities by name or name prefix, the host must be `*`. i.e:

    wear://*/<capability_name>

Listener events will be called on the main thread, or the handler specified on `client` when it was built (using `setHandler(Handler)`).

Callers wishing to be notified of events in the background should use `WearableListenerService`.

#### public abstract PendingResult<CapabilityApi.AddLocalCapabilityResult> addLocalCapability (GoogleApiClient client, String capability)

Announces that a capability has become available on the local node.

#### public abstract PendingResult<CapabilityApi.GetAllCapabilitiesResult> getAllCapabilities (GoogleApiClient client, int nodeFilter)

Returns information about all capabilities, including the nodes that declare those capabilities. The filter parameter controls whether all nodes are returned, `FILTER_ALL`, or only those that are currently reachable by this node, `FILTER_REACHABLE`.

The local node will never be returned in the set of nodes.

#### public abstract PendingResult<CapabilityApi.GetCapabilityResult> getCapability (GoogleApiClient client, String capability, int nodeFilter)

Returns information about a capability, including the nodes that declare that capability. The filter parameter controls whether all nodes are returned, `FILTER_ALL`, or only those that are currently reachable by this node, `FILTER_REACHABLE`.

The local node will never be returned in the set of nodes.

#### public abstract PendingResult<Status> removeCapabilityListener (GoogleApiClient client, CapabilityApi.CapabilityListener listener, String capability)

Removes a listener which was previously added through `addCapabilityListener(GoogleApiClient, CapabilityApi.CapabilityListener, String)`. The listener is only removed from listening for the capability provided and will continue to receive messages for any other capabilities it was previously registered for that have not also been removed.

#### public abstract PendingResult<Status> removeListener (GoogleApiClient client, CapabilityApi.CapabilityListener listener)

Removes a listener which was previously added through `addListener(GoogleApiClient, CapabilityApi.CapabilityListener, Uri, int)`. The listener is only removed from listening for the capability provided and will continue to receive messages for any other capabilities it was previously registered for that have not also been removed.

#### public abstract PendingResult<CapabilityApi.RemoveLocalCapabilityResult> removeLocalCapability (GoogleApiClient client, String capability)

Announces that a capability is no longer available on the local node. Note: this will not remove any capabilities announced in the Manifest for an app.