Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/companion/DeviceFilter#inhconstants) \| [Inherited Methods](https://developer.android.com/reference/android/companion/DeviceFilter#inhmethods)

# DeviceFilter

*** ** * ** ***

` public interface DeviceFilter `   
` implements https://developer.android.com/reference/android/os/Parcelable `

|---|
| android.companion.DeviceFilter\<D extends [android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable)\> |

Known indirect subclasses [BluetoothDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter), [BluetoothLeDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter), [WifiDeviceFilter](https://developer.android.com/reference/android/companion/WifiDeviceFilter) [BluetoothDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothDeviceFilter) A filter for Bluetooth(non-LE) devices [BluetoothLeDeviceFilter](https://developer.android.com/reference/android/companion/BluetoothLeDeviceFilter) A filter for Bluetooth LE devices [WifiDeviceFilter](https://developer.android.com/reference/android/companion/WifiDeviceFilter) A filter for Wifi devices   

*** ** * ** ***

A filter for companion devices of type `D`

## Summary

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

### Inherited methods

From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.