Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# android.companion

*** ** * ** ***

## Interfaces

|---|---|
| [DeviceFilter](https://developer.android.com/reference/android/companion/DeviceFilter)\<D extends [Parcelable](https://developer.android.com/reference/android/os/Parcelable)\> | A filter for companion devices of type `D` |

## Classes

|---|---|
| [ActionRequest](https://developer.android.com/reference/android/companion/ActionRequest) | Represents a request for a companion app to perform a specific action. |
| [ActionRequest.Builder](https://developer.android.com/reference/android/companion/ActionRequest.Builder) | A builder for creating `https://developer.android.com/reference/android/companion/ActionRequest`. |
| [ActionResult](https://developer.android.com/reference/android/companion/ActionResult) | A result reported by a companion app in response to an `https://developer.android.com/reference/android/companion/ActionRequest`. |
| [ActionResult.Builder](https://developer.android.com/reference/android/companion/ActionResult.Builder) | Builder for creating an `https://developer.android.com/reference/android/companion/ActionResult`. |
| [AssociatedDevice](https://developer.android.com/reference/android/companion/AssociatedDevice) | Container for device info from an association that is not self-managed. |
| [AssociationInfo](https://developer.android.com/reference/android/companion/AssociationInfo) | Details for a specific "association" that has been established between an app and companion device. |
| [AssociationRequest](https://developer.android.com/reference/android/companion/AssociationRequest) | A request for the user to select a companion device to associate with. |
| [AssociationRequest.Builder](https://developer.android.com/reference/android/companion/AssociationRequest.Builder) | A builder for `https://developer.android.com/reference/android/companion/AssociationRequest` |
| [BluetoothDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter) | A filter for Bluetooth(non-LE) devices |
| [BluetoothDeviceFilter.Builder](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter.Builder) | A builder for `https://developer.android.com/reference/android/companion/BluetoothDeviceFilter` |
| [BluetoothLeDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter) | A filter for Bluetooth LE devices |
| [BluetoothLeDeviceFilter.Builder](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter.Builder) | Builder for `https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter` |
| [CompanionDeviceManager](https://developer.android.com/reference/android/companion/CompanionDeviceManager) | Public interfaces for managing companion devices. |
| [CompanionDeviceManager.Callback](https://developer.android.com/reference/android/companion/CompanionDeviceManager.Callback) | Callback for applications to receive updates about and the outcome of `https://developer.android.com/reference/android/companion/AssociationRequest` issued via `associate()` call. |
| [CompanionDeviceManager.TrustPairingCallback](https://developer.android.com/reference/android/companion/CompanionDeviceManager.TrustPairingCallback) | Callback for applications to receive updates about and the outcome of `https://developer.android.com/reference/android/companion/CompanionDeviceManager#requestDeviceTrustPairing(int,%20android.companion.OutOfBandPairingRequest,%20int[],%20java.util.concurrent.Executor,%20android.companion.CompanionDeviceManager.TrustPairingCallback)` |
| [CompanionDeviceService](https://developer.android.com/reference/android/companion/CompanionDeviceService) | A service that receives calls from the system with device events. |
| [DeviceId](https://developer.android.com/reference/android/companion/DeviceId) | A device id represents a device identifier managed by the companion app. |
| [DeviceId.Builder](https://developer.android.com/reference/android/companion/DeviceId.Builder) | A builder for `https://developer.android.com/reference/android/companion/DeviceId` Calling apps must provide at least one of the following to identify the device: a custom ID using `https://developer.android.com/reference/android/companion/DeviceId.Builder#setCustomId(java.lang.String)`, or a MAC address using `https://developer.android.com/reference/android/companion/DeviceId.Builder#setMacAddress(android.net.MacAddress)`. |
| [DevicePresenceEvent](https://developer.android.com/reference/android/companion/DevicePresenceEvent) | Event for observing device presence. |
| [ObservingDevicePresenceRequest](https://developer.android.com/reference/android/companion/ObservingDevicePresenceRequest) | A request for setting the types of device for observing device presence. |
| [ObservingDevicePresenceRequest.Builder](https://developer.android.com/reference/android/companion/ObservingDevicePresenceRequest.Builder) | A builder for `https://developer.android.com/reference/android/companion/ObservingDevicePresenceRequest` |
| [OutOfBandPairingRequest](https://developer.android.com/reference/android/companion/OutOfBandPairingRequest) | Represents a request for out-of-band pairing. |
| [OutOfBandPairingRequest.Builder](https://developer.android.com/reference/android/companion/OutOfBandPairingRequest.Builder) | A builder for creating `https://developer.android.com/reference/android/companion/OutOfBandPairingRequest`. |
| [WifiDeviceFilter](https://developer.android.com/reference/android/companion/WifiDeviceFilter) | A filter for Wifi devices |
| [WifiDeviceFilter.Builder](https://developer.android.com/reference/android/companion/WifiDeviceFilter.Builder) | A builder for `https://developer.android.com/reference/android/companion/WifiDeviceFilter` |

## Exceptions

|---|---|
| [CompanionException](https://developer.android.com/reference/android/companion/CompanionException) | `CompanionException` can be thrown during the companion system data transfer process. |
| [DeviceNotAssociatedException](https://developer.android.com/reference/android/companion/DeviceNotAssociatedException) | An exception for a case when a given device was not `https://developer.android.com/reference/android/companion/CompanionDeviceManager#associate(android.companion.AssociationRequest,%20android.companion.CompanionDeviceManager.Callback,%20android.os.Handler)` to the calling app. |

-

  ## Interfaces

  - [DeviceFilter](https://developer.android.com/reference/android/companion/DeviceFilter)
-

  ## Classes

  - [ActionRequest](https://developer.android.com/reference/android/companion/ActionRequest)
  - [ActionRequest.Builder](https://developer.android.com/reference/android/companion/ActionRequest.Builder)
  - [ActionResult](https://developer.android.com/reference/android/companion/ActionResult)
  - [ActionResult.Builder](https://developer.android.com/reference/android/companion/ActionResult.Builder)
  - [AssociatedDevice](https://developer.android.com/reference/android/companion/AssociatedDevice)
  - [AssociationInfo](https://developer.android.com/reference/android/companion/AssociationInfo)
  - [AssociationRequest](https://developer.android.com/reference/android/companion/AssociationRequest)
  - [AssociationRequest.Builder](https://developer.android.com/reference/android/companion/AssociationRequest.Builder)
  - [BluetoothDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter)
  - [BluetoothDeviceFilter.Builder](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter.Builder)
  - [BluetoothLeDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter)
  - [BluetoothLeDeviceFilter.Builder](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter.Builder)
  - [CompanionDeviceManager](https://developer.android.com/reference/android/companion/CompanionDeviceManager)
  - [CompanionDeviceManager.Callback](https://developer.android.com/reference/android/companion/CompanionDeviceManager.Callback)
  - [CompanionDeviceManager.TrustPairingCallback](https://developer.android.com/reference/android/companion/CompanionDeviceManager.TrustPairingCallback)
  - [CompanionDeviceService](https://developer.android.com/reference/android/companion/CompanionDeviceService)
  - [DeviceId](https://developer.android.com/reference/android/companion/DeviceId)
  - [DeviceId.Builder](https://developer.android.com/reference/android/companion/DeviceId.Builder)
  - [DevicePresenceEvent](https://developer.android.com/reference/android/companion/DevicePresenceEvent)
  - [ObservingDevicePresenceRequest](https://developer.android.com/reference/android/companion/ObservingDevicePresenceRequest)
  - [ObservingDevicePresenceRequest.Builder](https://developer.android.com/reference/android/companion/ObservingDevicePresenceRequest.Builder)
  - [OutOfBandPairingRequest](https://developer.android.com/reference/android/companion/OutOfBandPairingRequest)
  - [OutOfBandPairingRequest.Builder](https://developer.android.com/reference/android/companion/OutOfBandPairingRequest.Builder)
  - [WifiDeviceFilter](https://developer.android.com/reference/android/companion/WifiDeviceFilter)
  - [WifiDeviceFilter.Builder](https://developer.android.com/reference/android/companion/WifiDeviceFilter.Builder)
-

  ## Exceptions

  - [CompanionException](https://developer.android.com/reference/android/companion/CompanionException)
  - [DeviceNotAssociatedException](https://developer.android.com/reference/android/companion/DeviceNotAssociatedException)