Added in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#inhmethods)

# ProviderProperties.Builder

*** ** * ** ***


`
public
static
final

class
ProviderProperties.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.location.provider.ProviderProperties.Builder |

<br />

*** ** * ** ***

Builder for ProviderProperties.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#Builder()() ` |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#Builder(android.location.provider.ProviderProperties)(https://developer.android.com/reference/android/location/provider/ProviderProperties providerProperties) ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#build()() ` Builds a new ProviderProperties. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setAccuracy(int)(int accuracy) ` Sets a very rough bucket of provider location accuracy. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasAltitudeSupport(boolean)(boolean supportsAltitude) ` Sets whether a provider can provide altitude information. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasBearingSupport(boolean)(boolean supportsBearing) ` Sets whether a provider can provide bearing information. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasCellRequirement(boolean)(boolean requiresCell) ` Sets whether a provider requires cell tower access. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasMonetaryCost(boolean)(boolean monetaryCost) ` Sets whether a provider has a monetary cost. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasNetworkRequirement(boolean)(boolean requiresNetwork) ` Sets whether a provider requires network access. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasSatelliteRequirement(boolean)(boolean requiresSatellite) ` Sets whether a provider requires satellite access. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setHasSpeedSupport(boolean)(boolean supportsSpeed) ` Sets whether a provider can provide speed information. |
| ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | ` https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder#setPowerUsage(int)(int powerUsage) ` Sets a very rough bucket of provider power usage. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` 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 https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### Builder

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

```
public Builder ()
```

<br />

<br />

### Builder

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

```
public Builder (ProviderProperties providerProperties)
```

<br />

<br />

| Parameters ||
|---|---|
| `providerProperties` | `ProviderProperties`: This value cannot be `null`. <br /> |

## Public methods

### build

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

```
public ProviderProperties build ()
```

Builds a new ProviderProperties.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties` | This value cannot be `null`. <br /> |

### setAccuracy

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

```
public ProviderProperties.Builder setAccuracy (int accuracy)
```

Sets a very rough bucket of provider location accuracy. `https://developer.android.com/reference/android/location/provider/ProviderProperties#ACCURACY_COARSE` by
default.

<br />

| Parameters ||
|---|---|
| `accuracy` | `int`: Value is one of the following: - `https://developer.android.com/reference/android/location/provider/ProviderProperties#ACCURACY_FINE` - `https://developer.android.com/reference/android/location/provider/ProviderProperties#ACCURACY_COARSE` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasAltitudeSupport

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

```
public ProviderProperties.Builder setHasAltitudeSupport (boolean supportsAltitude)
```

Sets whether a provider can provide altitude information. False by default.

<br />

| Parameters ||
|---|---|
| `supportsAltitude` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasBearingSupport

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

```
public ProviderProperties.Builder setHasBearingSupport (boolean supportsBearing)
```

Sets whether a provider can provide bearing information. False by default.

<br />

| Parameters ||
|---|---|
| `supportsBearing` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasCellRequirement

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

```
public ProviderProperties.Builder setHasCellRequirement (boolean requiresCell)
```

Sets whether a provider requires cell tower access. False by default.

<br />

| Parameters ||
|---|---|
| `requiresCell` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasMonetaryCost

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

```
public ProviderProperties.Builder setHasMonetaryCost (boolean monetaryCost)
```

Sets whether a provider has a monetary cost. False by default.

<br />

| Parameters ||
|---|---|
| `monetaryCost` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasNetworkRequirement

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

```
public ProviderProperties.Builder setHasNetworkRequirement (boolean requiresNetwork)
```

Sets whether a provider requires network access. False by default.

<br />

| Parameters ||
|---|---|
| `requiresNetwork` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasSatelliteRequirement

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

```
public ProviderProperties.Builder setHasSatelliteRequirement (boolean requiresSatellite)
```

Sets whether a provider requires satellite access. False by default.

<br />

| Parameters ||
|---|---|
| `requiresSatellite` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setHasSpeedSupport

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

```
public ProviderProperties.Builder setHasSpeedSupport (boolean supportsSpeed)
```

Sets whether a provider can provide speed information. False by default.

<br />

| Parameters ||
|---|---|
| `supportsSpeed` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |

### setPowerUsage

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

```
public ProviderProperties.Builder setPowerUsage (int powerUsage)
```

Sets a very rough bucket of provider power usage. `https://developer.android.com/reference/android/location/provider/ProviderProperties#POWER_USAGE_HIGH` by default.

<br />

| Parameters ||
|---|---|
| `powerUsage` | `int`: Value is one of the following: - `https://developer.android.com/reference/android/location/provider/ProviderProperties#POWER_USAGE_LOW` - `https://developer.android.com/reference/android/location/provider/ProviderProperties#POWER_USAGE_MEDIUM` - `https://developer.android.com/reference/android/location/provider/ProviderProperties#POWER_USAGE_HIGH` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/provider/ProviderProperties.Builder` | This value cannot be `null`. <br /> |