# LocationCompat

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/location/LocationCompat.java+class:androidx.core.location.LocationCompat) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/core#1.6.0)

*** ** * ** ***

<br />

```
public final class LocationCompat
```

<br />

*** ** * ** ***

Helper for accessing features in `https://developer.android.com/reference/android/location/Location.html`.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_BEARING_ACCURACY() = "bearingAccuracy"` Constant used as a key to store bearing accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26). |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_IS_MOCK() = "mockLocation"` Constant used as a key to store mock location status in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below JBMR2 (18). |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE() = "androidx.core.location.extra.MSL_ALTITUDE"` Constant used as a key to store Mean Sea Level altitude in `https://developer.android.com/reference/android/location/Location.html#getExtras()`. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE_ACCURACY() = "androidx.core.location.extra.MSL_ALTITUDE_ACCURACY"` Constant used as a key to store Mean Sea Level altitude in `https://developer.android.com/reference/android/location/Location.html#getExtras()`. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_SPEED_ACCURACY() = "speedAccuracy"` Constant used as a key to store speed accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26). |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_VERTICAL_ACCURACY() = "verticalAccuracy"` Constant used as a key to store vertical accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26). |

| ### Public methods |
|---|---|
| `static float` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getBearingAccuracyDegrees(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Get the estimated bearing accuracy of this location in degrees. |
| `static long` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getElapsedRealtimeMillis(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Return the time of this fix, in milliseconds of elapsed real-time since system boot. |
| `static long` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "location.getElapsedRealtimeNanos()") [getElapsedRealtimeNanos](https://developer.android.com/reference/androidx/core/location/LocationCompat#getElapsedRealtimeNanos(android.location.Location))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` **This method is deprecated.** Call `https://developer.android.com/reference/android/location/Location.html#getElapsedRealtimeNanos()` directly. <br /> |
| `static @https://developer.android.com/reference/androidx/annotation/FloatRange(from = 0.0) float` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getMslAltitudeAccuracyMeters(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns the estimated Mean Sea Level altitude accuracy in meters of the location at the 68th percentile confidence level. |
| `static double` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getMslAltitudeMeters(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns the Mean Sea Level altitude of the location in meters. |
| `static float` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getSpeedAccuracyMetersPerSecond(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Get the estimated speed accuracy of this location in meters per second. |
| `static float` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#getVerticalAccuracyMeters(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Get the estimated vertical accuracy of this location in meters. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasBearingAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if this location has a bearing accuracy. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasMslAltitude(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if the location has a Mean Sea Level altitude, false otherwise. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasMslAltitudeAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if the location has a Mean Sea Level altitude accuracy, false otherwise. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasSpeedAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if this location has a speed accuracy. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasVerticalAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if this location has a vertical accuracy. |
| `static boolean` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#isMock(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Returns true if this location is marked as a mock location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#removeBearingAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Removes the bearing accuracy from the location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#removeMslAltitude(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Removes the Mean Sea Level altitude from the location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#removeMslAltitudeAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Removes the Mean Sea Level altitude accuracy from the location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#removeSpeedAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Removes the speed accuracy from the location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#removeVerticalAccuracy(android.location.Location)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location)` Removes the vertical accuracy from the location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setBearingAccuracyDegrees(android.location.Location,float)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, float bearingAccuracyD )` Set the estimated bearing accuracy of this location in degrees. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setMock(android.location.Location,boolean)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, boolean mock)` Sets whether this location is marked as a mock location. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setMslAltitudeAccuracyMeters(android.location.Location,float)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, @https://developer.android.com/reference/androidx/annotation/FloatRange(from = 0.0) float mslAltitudeAccuracyMeters )` Sets the Mean Sea Level altitude accuracy of the location in meters. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setMslAltitudeMeters(android.location.Location,double)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, double mslAltitudeMeters )` Sets the Mean Sea Level altitude of the location in meters. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setSpeedAccuracyMetersPerSecond(android.location.Location,float)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, float speedAccuracyMps )` Set the estimated speed accuracy of this location in meters per second. |
| `static void` | `https://developer.android.com/reference/androidx/core/location/LocationCompat#setVerticalAccuracyMeters(android.location.Location,float)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/location/Location.html location, float verticalAccuracyM )` Set the estimated vertical accuracy of this location in meters. |

## Constants

### EXTRA_BEARING_ACCURACY

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static final String EXTRA_BEARING_ACCURACY = "bearingAccuracy"
```

Constant used as a key to store bearing accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26).

### EXTRA_IS_MOCK

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static final String EXTRA_IS_MOCK = "mockLocation"
```

Constant used as a key to store mock location status in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below JBMR2 (18).

### EXTRA_MSL_ALTITUDE

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static final String EXTRA_MSL_ALTITUDE = "androidx.core.location.extra.MSL_ALTITUDE"
```

Constant used as a key to store Mean Sea Level altitude in `https://developer.android.com/reference/android/location/Location.html#getExtras()`.

### EXTRA_MSL_ALTITUDE_ACCURACY

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static final String EXTRA_MSL_ALTITUDE_ACCURACY = "androidx.core.location.extra.MSL_ALTITUDE_ACCURACY"
```

Constant used as a key to store Mean Sea Level altitude in `https://developer.android.com/reference/android/location/Location.html#getExtras()`.

### EXTRA_SPEED_ACCURACY

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static final String EXTRA_SPEED_ACCURACY = "speedAccuracy"
```

Constant used as a key to store speed accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26).

### EXTRA_VERTICAL_ACCURACY

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static final String EXTRA_VERTICAL_ACCURACY = "verticalAccuracy"
```

Constant used as a key to store vertical accuracy in `https://developer.android.com/reference/android/location/Location.html#getExtras()` for Android SDK levels below Oreo (26).

## Public methods

### getBearingAccuracyDegrees

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static float getBearingAccuracyDegrees(@NonNull Location location)
```

Get the estimated bearing accuracy of this location in degrees.

NOTE: On API levels below 26, the concept of bearing accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to read a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_BEARING_ACCURACY()` and return the result.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#getBearingAccuracyDegrees()` |   |

### getElapsedRealtimeMillis

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/core#1.6.0)

```
public static long getElapsedRealtimeMillis(@NonNull Location location)
```

Return the time of this fix, in milliseconds of elapsed real-time since system boot.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/location/LocationCompat#getElapsedRealtimeNanos(android.location.Location)` |   |

### getElapsedRealtimeNanos

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/core#1.6.0) Deprecated in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
@ReplaceWith(expression = "location.getElapsedRealtimeNanos()")
public static long [getElapsedRealtimeNanos](https://developer.android.com/reference/androidx/core/location/LocationCompat#getElapsedRealtimeNanos(android.location.Location))(@NonNull Location location)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Call `https://developer.android.com/reference/android/location/Location.html#getElapsedRealtimeNanos()` directly.

Return the time of this fix, in nanoseconds of elapsed real-time since system boot.

This value can be reliably compared to SystemClock.elapsedRealtimeNanos(), to calculate the age of a fix and to compare location fixes. This is reliable because elapsed real-time is guaranteed monotonic for each system boot and continues to increment even when the system is in deep sleep (unlike getTime().

All locations generated by the LocationManager are guaranteed to have a valid elapsed real-time.

### getMslAltitudeAccuracyMeters

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static @FloatRange(from = 0.0) float getMslAltitudeAccuracyMeters(@NonNull Location location)
```

Returns the estimated Mean Sea Level altitude accuracy in meters of the location at the 68th percentile confidence level. This means that there is 68% chance that the true Mean Sea Level altitude of the location falls within `https://developer.android.com/reference/androidx/core/location/LocationCompat#getMslAltitudeMeters(android.location.Location)` +/- this uncertainty.

This is only valid if `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasMslAltitudeAccuracy(android.location.Location)` is true.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to read a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE_ACCURACY()` and return the result.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#getMslAltitudeAccuracyMeters()` |   |

### getMslAltitudeMeters

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static double getMslAltitudeMeters(@NonNull Location location)
```

Returns the Mean Sea Level altitude of the location in meters.

This is only valid if `https://developer.android.com/reference/androidx/core/location/LocationCompat#hasMslAltitude(android.location.Location)` is true.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to read a double extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE()` and return the result.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#getMslAltitudeMeters()` |   |

### getSpeedAccuracyMetersPerSecond

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static float getSpeedAccuracyMetersPerSecond(@NonNull Location location)
```

Get the estimated speed accuracy of this location in meters per second.

NOTE: On API levels below 26, the concept of speed accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to read a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_SPEED_ACCURACY()` and return the result.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#getSpeedAccuracyMetersPerSecond()` |   |

### getVerticalAccuracyMeters

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static float getVerticalAccuracyMeters(@NonNull Location location)
```

Get the estimated vertical accuracy of this location in meters.

NOTE: On API levels below 26, the concept of vertical accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to read a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_VERTICAL_ACCURACY()` and return the result.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#getVerticalAccuracyMeters()` |   |

### hasBearingAccuracy

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static boolean hasBearingAccuracy(@NonNull Location location)
```

Returns true if this location has a bearing accuracy.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#hasBearingAccuracy()` |   |

### hasMslAltitude

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static boolean hasMslAltitude(@NonNull Location location)
```

Returns true if the location has a Mean Sea Level altitude, false otherwise.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude does not exist. In order to allow for backwards compatibility and testing however, this method will return true if an extra value is with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE()`.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#hasMslAltitude()` |   |

### hasMslAltitudeAccuracy

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static boolean hasMslAltitudeAccuracy(@NonNull Location location)
```

Returns true if the location has a Mean Sea Level altitude accuracy, false otherwise.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will return true if an extra value is with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE_ACCURACY()`.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#hasMslAltitudeAccuracy()` |   |

### hasSpeedAccuracy

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static boolean hasSpeedAccuracy(@NonNull Location location)
```

Returns true if this location has a speed accuracy.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#hasSpeedAccuracy()` |   |

### hasVerticalAccuracy

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static boolean hasVerticalAccuracy(@NonNull Location location)
```

Returns true if this location has a vertical accuracy.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#hasVerticalAccuracy()` |   |

### isMock

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/core#1.6.0)

```
public static boolean isMock(@NonNull Location location)
```

Returns true if this location is marked as a mock location. If this location comes from the Android framework, this indicates that the location was provided by a test location provider, and thus may not be related to the actual location of the device.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/LocationManager.html#addTestProvider(java.lang.String, android.location.provider.ProviderProperties)` |   |

### removeBearingAccuracy

Added in [1.12.0](https://developer.android.com/jetpack/androidx/releases/core#1.12.0)

```
public static void removeBearingAccuracy(@NonNull Location location)
```

Removes the bearing accuracy from the location.

### removeMslAltitude

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static void removeMslAltitude(@NonNull Location location)
```

Removes the Mean Sea Level altitude from the location.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to remove any extra value with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE()`.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#removeMslAltitude()` |   |

### removeMslAltitudeAccuracy

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static void removeMslAltitudeAccuracy(@NonNull Location location)
```

Removes the Mean Sea Level altitude accuracy from the location.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to remove any extra value with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE_ACCURACY()`.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#removeMslAltitudeAccuracy()` |   |

### removeSpeedAccuracy

Added in [1.12.0](https://developer.android.com/jetpack/androidx/releases/core#1.12.0)

```
public static void removeSpeedAccuracy(@NonNull Location location)
```

Removes the speed accuracy from the location.

### removeVerticalAccuracy

Added in [1.12.0](https://developer.android.com/jetpack/androidx/releases/core#1.12.0)

```
public static void removeVerticalAccuracy(@NonNull Location location)
```

Removes the vertical accuracy from the location.

### setBearingAccuracyDegrees

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static void setBearingAccuracyDegrees(
    @NonNull Location location,
    float bearingAccuracyD
)
```

Set the estimated bearing accuracy of this location in degrees.

NOTE: On API levels below 26, the concept of bearing accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to set a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_BEARING_ACCURACY()` to include bearing accuracy. Be aware that this will overwrite any prior extra value under the same key.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#setBearingAccuracyDegrees(float)` |   |

### setMock

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/core#1.6.0)

```
public static void setMock(@NonNull Location location, boolean mock)
```

Sets whether this location is marked as a mock location.

### setMslAltitudeAccuracyMeters

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static void setMslAltitudeAccuracyMeters(
    @NonNull Location location,
    @FloatRange(from = 0.0) float mslAltitudeAccuracyMeters
)
```

Sets the Mean Sea Level altitude accuracy of the location in meters.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to set a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE_ACCURACY()` to include Mean Sea Level altitude accuracy. Be aware that this will overwrite any prior extra value under the same key.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#setMslAltitudeAccuracyMeters(float)` |   |

### setMslAltitudeMeters

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/core#1.9.0)

```
public static void setMslAltitudeMeters(
    @NonNull Location location,
    double mslAltitudeMeters
)
```

Sets the Mean Sea Level altitude of the location in meters.

NOTE: On API levels below 34, the concept of Mean Sea Level altitude does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to set a double extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_MSL_ALTITUDE()` to include Mean Sea Level altitude. Be aware that this will overwrite any prior extra value under the same key.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#setMslAltitudeMeters(double)` |   |

### setSpeedAccuracyMetersPerSecond

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static void setSpeedAccuracyMetersPerSecond(
    @NonNull Location location,
    float speedAccuracyMps
)
```

Set the estimated speed accuracy of this location in meters per second.

NOTE: On API levels below 26, the concept of speed accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to set a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_SPEED_ACCURACY()` to include speed accuracy. Be aware that this will overwrite any prior extra value under the same key.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#setSpeedAccuracyMetersPerSecond(float)` |   |

### setVerticalAccuracyMeters

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/core#1.7.0)

```
public static void setVerticalAccuracyMeters(
    @NonNull Location location,
    float verticalAccuracyM
)
```

Set the estimated vertical accuracy of this location in meters.

NOTE: On API levels below 26, the concept of vertical accuracy does not exist. In order to allow for backwards compatibility and testing however, this method will attempt to set a float extra with the key `https://developer.android.com/reference/androidx/core/location/LocationCompat#EXTRA_VERTICAL_ACCURACY()` to include vertical accuracy. Be aware that this will overwrite any prior extra value under the same key.

| See also |
|---|---|
| `https://developer.android.com/reference/android/location/Location.html#setVerticalAccuracyMeters(float)` |   |