# UserSensor

Summary:[Nested Classes](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#nestedclasses)\|[Methods](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#)  

# UserSensor

`
public


class
UserSensor
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|--------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | com.google.android.things.userdriver.sensor.UserSensor |

<br />

*** ** * ** ***

A user-defined sensor backed by a[UserSensorDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorDriver). Use[UserSensor.Builder](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder)to create user sensors, and[registerSensor(UserSensor)](https://developer.android.com/reference/com/google/android/things/userdriver/UserDriverManager#registerSensor(com.google.android.things.userdriver.sensor.UserSensor))to register them.

## Summary

|                                                                                                                                      ### Nested classes                                                                                                                                       ||
|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [UserSensor.Builder](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder) Builder to allow for flexible[UserSensor](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor)construction. |

|                                                                                                                                                      ### Public methods                                                                                                                                                      ||
|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` final `[UserSensorDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorDriver) | ` `[getDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getDriver())`() ` Returns the sensor driver.                                |
| ` final int`                                                                                                                      | ` `[getMaxDelay](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getMaxDelay())`() ` Returns the sensor max delay between readings.        |
| ` final float`                                                                                                                    | ` `[getMaxRange](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getMaxRange())`() ` Returns the sensor maximum reading range.             |
| ` final int`                                                                                                                      | ` `[getMinDelay](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getMinDelay())`() ` Returns the sensor min delay between readings.        |
| ` final `[String](https://developer.android.com/reference/java/lang/String)                                                       | ` `[getName](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getName())`() ` Returns the sensor name.                                      |
| ` final float`                                                                                                                    | ` `[getPower](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getPower())`() ` Returns the sensor power consumption while enabled.         |
| ` final int`                                                                                                                      | ` `[getReportingMode](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getReportingMode())`() ` Returns the sensor reporting mode.          |
| ` final float`                                                                                                                    | ` `[getResolution](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getResolution())`() ` Returns the sensor minimum detectable resolution. |
| ` final `[String](https://developer.android.com/reference/java/lang/String)                                                       | ` `[getStringType](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getStringType())`() ` Returns the sensor type string.                   |
| ` final int`                                                                                                                      | ` `[getType](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getType())`() ` Returns the sensor type.                                      |
| ` final `[UUID](https://developer.android.com/reference/java/util/UUID)                                                           | ` `[getUuid](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getUuid())`() ` Returns the sensor UUID.                                      |
| ` final `[String](https://developer.android.com/reference/java/lang/String)                                                       | ` `[getVendor](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getVendor())`() ` Returns the sensor driver vendor name.                    |
| ` final int`                                                                                                                      | ` `[getVersion](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#getVersion())`() ` Returns the sensor driver version.                      |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor#)From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                                                                                                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                                                                                                                                                                                                                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                                                                                                                                                                                                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                                                                                                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                                                                                                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                                                                                                                                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                                                                                                                                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                                                                                                                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long, int))`(long millis, int nanos) ` Causes the current thread to wait until another thread invokes the[notify()](https://developer.android.com/reference/java/lang/Object.html#notify())method or the[notifyAll()](https://developer.android.com/reference/java/lang/Object.html#notifyAll())method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long millis) ` Causes the current thread to wait until either another thread invokes the[notify()](https://developer.android.com/reference/java/lang/Object.html#notify())method or the[notifyAll()](https://developer.android.com/reference/java/lang/Object.html#notifyAll())method for this object, or a specified amount of time has elapsed.                                                                 | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until another thread invokes the[notify()](https://developer.android.com/reference/java/lang/Object.html#notify())method or the[notifyAll()](https://developer.android.com/reference/java/lang/Object.html#notifyAll())method for this object.                                                                                                                                  | ||

## Public methods

### getDriver

```
UserSensorDriver getDriver ()
```

Returns the sensor driver.

<br />

|                                                                                                                               Returns                                                                                                                                ||
|--------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| [UserSensorDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorDriver) | controlling[UserSensorDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorDriver) <br /> |

**See also:**

- [setDriver(UserSensorDriver)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setDriver(com.google.android.things.userdriver.sensor.UserSensorDriver))  

### getMaxDelay

```
int getMaxDelay ()
```

Returns the sensor max delay between readings.

<br />

|                 Returns                 ||
|-------|----------------------------------|
| `int` | max delay in microseconds <br /> |

**See also:**

- [setMaxDelay(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setMaxDelay(int))  

### getMaxRange

```
float getMaxRange ()
```

Returns the sensor maximum reading range.

<br />

|                               Returns                                ||
|---------|-------------------------------------------------------------|
| `float` | maximum sensor range in the sensor's reporting units <br /> |

**See also:**

- [setMaxRange(float)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setMaxRange(float))  

### getMinDelay

```
int getMinDelay ()
```

Returns the sensor min delay between readings.

<br />

|                 Returns                 ||
|-------|----------------------------------|
| `int` | min delay in microseconds <br /> |

**See also:**

- [setMinDelay(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setMinDelay(int))  

### getName

```
String getName ()
```

Returns the sensor name.

<br />

|                                        Returns                                         ||
|--------------------------------------------------------------------|--------------------|
| [String](https://developer.android.com/reference/java/lang/String) | name string <br /> |

**See also:**

- [setName(String)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setName(java.lang.String))  

### getPower

```
float getPower ()
```

Returns the sensor power consumption while enabled.

<br />

|                    Returns                     ||
|---------|---------------------------------------|
| `float` | power consumption in milliAmps <br /> |

**See also:**

- [setPower(float)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setPower(float))  

### getReportingMode

```
int getReportingMode ()
```

Returns the sensor reporting mode.

<br />

|                             Returns                              ||
|-------|-----------------------------------------------------------|
| `int` | `android.hardware.Sensor.REPORTING_MODE_*`constant <br /> |

**See also:**

- [setType(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setType(int))
- [setCustomType(int, String, int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setCustomType(int, java.lang.String, int))  

### getResolution

```
float getResolution ()
```

Returns the sensor minimum detectable resolution.

<br />

|                          Returns                           ||
|---------|---------------------------------------------------|
| `float` | resolution in the sensor's reporting units <br /> |

**See also:**

- [setResolution(float)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setResolution(float))  

### getStringType

```
String getStringType ()
```

Returns the sensor type string.

<br />

|                                              Returns                                               ||
|--------------------------------------------------------------------|--------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | sensor type as a string <br /> |

**See also:**

- [setType(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setType(int))
- [setCustomType(int, String, int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setCustomType(int, java.lang.String, int))  

### getType

```
int getType ()
```

Returns the sensor type.

<br />

|                   Returns                   ||
|-------|--------------------------------------|
| `int` | `android.hardware.Sensor`type <br /> |

**See also:**

- [setType(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setType(int))
- [setCustomType(int, String, int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setCustomType(int, java.lang.String, int))  

### getUuid

```
UUID getUuid ()
```

Returns the sensor UUID.

<br />

|                                               Returns                                               ||
|----------------------------------------------------------------|-------------------------------------|
| [UUID](https://developer.android.com/reference/java/util/UUID) | sensor UUID, or 0 if not set <br /> |

**See also:**

- [setUuid(UUID)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setUuid(java.util.UUID))  

### getVendor

```
String getVendor ()
```

Returns the sensor driver vendor name.

<br />

|                                        Returns                                         ||
|--------------------------------------------------------------------|--------------------|
| [String](https://developer.android.com/reference/java/lang/String) | vendor name <br /> |

**See also:**

- [setVendor(String)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setVendor(java.lang.String))  

### getVersion

```
int getVersion ()
```

Returns the sensor driver version.

<br />

|           Returns            ||
|-------|-----------------------|
| `int` | version number <br /> |

**See also:**

- [setVersion(int)](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder#setVersion(int))  
-

  ## Interfaces

  - [UserSensorDriver](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorDriver)
-

  ## Classes

  - [UserSensor](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor)
  - [UserSensor.Builder](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensor.Builder)
  - [UserSensorReading](https://developer.android.com/reference/com/google/android/things/userdriver/sensor/UserSensorReading)