Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/location/GnssStatus#nestedclasses) \| [Constants](https://developer.android.com/reference/android/location/GnssStatus#constants) \| [Inherited Constants](https://developer.android.com/reference/android/location/GnssStatus#inhconstants) \| [Fields](https://developer.android.com/reference/android/location/GnssStatus#lfields) \| [Methods](https://developer.android.com/reference/android/location/GnssStatus#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/location/GnssStatus#inhmethods)

# GnssStatus

*** ** * ** ***


`
public

final

class
GnssStatus
`


`

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


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

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

<br />

*** ** * ** ***

This class represents the current state of the GNSS engine and is used in conjunction with `https://developer.android.com/reference/android/location/GnssStatus.Callback`.
**See also:**

- `https://developer.android.com/reference/android/location/LocationManager#registerGnssStatusCallback(android.location.GnssStatus.Callback)`
- `https://developer.android.com/reference/android/location/GnssStatus.Callback`

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/location/GnssStatus.Builder` Builder class to help create new GnssStatus instances. |
| ` class` | `https://developer.android.com/reference/android/location/GnssStatus.Callback` Used for receiving notifications when GNSS events happen. |

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_BEIDOU` Constellation type constant for Beidou. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GALILEO` Constellation type constant for Galileo. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GLONASS` Constellation type constant for Glonass. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GPS` Constellation type constant for GPS. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_IRNSS` Constellation type constant for IRNSS. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_QZSS` Constellation type constant for QZSS. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_SBAS` Constellation type constant for SBAS. |
| `int` | `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_UNKNOWN` Unknown constellation type. |

### 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)`".


| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/location/GnssStatus>` | `https://developer.android.com/reference/android/location/GnssStatus#CREATOR` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/location/GnssStatus#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. |
| ` float` | ` https://developer.android.com/reference/android/location/GnssStatus#getAzimuthDegrees(int)(int satelliteIndex) ` Retrieves the azimuth the satellite at the specified index. |
| ` float` | ` https://developer.android.com/reference/android/location/GnssStatus#getBasebandCn0DbHz(int)(int satelliteIndex) ` Retrieves the baseband carrier-to-noise density of the satellite at the specified index in dB-Hz. |
| ` float` | ` https://developer.android.com/reference/android/location/GnssStatus#getCarrierFrequencyHz(int)(int satelliteIndex) ` Gets the carrier frequency of the signal tracked. |
| ` float` | ` https://developer.android.com/reference/android/location/GnssStatus#getCn0DbHz(int)(int satelliteIndex) ` Retrieves the carrier-to-noise density at the antenna of the satellite at the specified index in dB-Hz. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/location/GnssStatus#getCodeType(int)(int satelliteIndex) ` Gets the code type as defined in `https://developer.android.com/reference/android/location/GnssMeasurement#getCodeType()` of the satellite at the specified index. |
| ` int` | ` https://developer.android.com/reference/android/location/GnssStatus#getConstellationType(int)(int satelliteIndex) ` Retrieves the constellation type of the satellite at the specified index. |
| ` long` | ` https://developer.android.com/reference/android/location/GnssStatus#getElapsedRealtimeNanos(int)(int satelliteIndex) ` Returns the elapsed real-time of this GnssStatus since system boot, in nanoseconds. |
| ` double` | ` https://developer.android.com/reference/android/location/GnssStatus#getElapsedRealtimeUncertaintyNanos(int)(int satelliteIndex) ` Returns the estimate of the relative precision of the alignment of the `https://developer.android.com/` timestamp, with the reported GnssStatus in nanoseconds (68% confidence). |
| ` float` | ` https://developer.android.com/reference/android/location/GnssStatus#getElevationDegrees(int)(int satelliteIndex) ` Retrieves the elevation of the satellite at the specified index. |
| ` int` | ` https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()() ` Gets the total number of satellites in satellite list. |
| ` int` | ` https://developer.android.com/reference/android/location/GnssStatus#getSvid(int)(int satelliteIndex) ` Gets the identification number for the satellite at the specific index. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasAlmanacData(int)(int satelliteIndex) ` Reports whether the satellite at the specified index has almanac data. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasBasebandCn0DbHz(int)(int satelliteIndex) ` Reports whether a valid `https://developer.android.com/reference/android/location/GnssStatus#getBasebandCn0DbHz(int)` is available. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasCarrierFrequencyHz(int)(int satelliteIndex) ` Reports whether a valid `https://developer.android.com/reference/android/location/GnssStatus#getCarrierFrequencyHz(int)` is available. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasCodeType(int)(int satelliteIndex) ` Reports whether a valid `https://developer.android.com/` is available. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasElapsedRealtimeNanos(int)(int satelliteIndex) ` Returns `true` if `https://developer.android.com/` is available, `false` otherwise. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasElapsedRealtimeUncertaintyNanos(int)(int satelliteIndex) ` Returns `true` if `https://developer.android.com/` is available, `false` otherwise. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#hasEphemerisData(int)(int satelliteIndex) ` Reports whether the satellite at the specified index has ephemeris data. |
| ` int` | ` https://developer.android.com/reference/android/location/GnssStatus#hashCode()() ` Returns a hash code value for the object. |
| ` boolean` | ` https://developer.android.com/reference/android/location/GnssStatus#usedInFix(int)(int satelliteIndex) ` Reports whether the satellite at the specified index was used in the calculation of the most recent position fix. |
| ` void` | ` https://developer.android.com/reference/android/location/GnssStatus#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel parcel, int flags) ` Flatten this object in to a Parcel. |

### 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*.


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.


## Constants

### CONSTELLATION_BEIDOU

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

```
public static final int CONSTELLATION_BEIDOU
```

Constellation type constant for Beidou.

<br />

Constant Value:

5
(0x00000005)


### CONSTELLATION_GALILEO

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

```
public static final int CONSTELLATION_GALILEO
```

Constellation type constant for Galileo.

<br />

Constant Value:

6
(0x00000006)


### CONSTELLATION_GLONASS

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

```
public static final int CONSTELLATION_GLONASS
```

Constellation type constant for Glonass.

<br />

Constant Value:

3
(0x00000003)


### CONSTELLATION_GPS

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

```
public static final int CONSTELLATION_GPS
```

Constellation type constant for GPS.

<br />

Constant Value:

1
(0x00000001)


### CONSTELLATION_IRNSS

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

```
public static final int CONSTELLATION_IRNSS
```

Constellation type constant for IRNSS.

<br />

Constant Value:

7
(0x00000007)


### CONSTELLATION_QZSS

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

```
public static final int CONSTELLATION_QZSS
```

Constellation type constant for QZSS.

<br />

Constant Value:

4
(0x00000004)


### CONSTELLATION_SBAS

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

```
public static final int CONSTELLATION_SBAS
```

Constellation type constant for SBAS.

<br />

Constant Value:

2
(0x00000002)


### CONSTELLATION_UNKNOWN

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

```
public static final int CONSTELLATION_UNKNOWN
```

Unknown constellation type.

<br />

Constant Value:

0
(0x00000000)


## Fields

### CREATOR

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

```
public static final Creator<GnssStatus> CREATOR
```

<br />

<br />

## Public methods

### describeContents

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

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

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

```
public boolean equals (Object o)
```

Indicates whether some other object is "equal to" this one.


The `equals` method implements an equivalence relation
on non-null object references:

- It is *reflexive*: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is *symmetric*: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is *transitive*: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is *consistent*: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.


An equivalence relation partitions the elements it operates on
into *equivalence classes*; all the members of an
equivalence class are equal to each other. Members of an
equivalence class are substitutable for each other, at least
for some purposes.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: the reference object with which to compare. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getAzimuthDegrees

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

```
public float getAzimuthDegrees (int satelliteIndex)
```

Retrieves the azimuth the satellite at the specified index.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `float` | Value is between 0.0f and 360.0f inclusive <br /> |

### getBasebandCn0DbHz

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

```
public float getBasebandCn0DbHz (int satelliteIndex)
```

Retrieves the baseband carrier-to-noise density of the satellite at the specified index in
dB-Hz.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `float` | Value is between 0.0f and 63.0f inclusive <br /> |

### getCarrierFrequencyHz

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

```
public float getCarrierFrequencyHz (int satelliteIndex)
```

Gets the carrier frequency of the signal tracked.

For example it can be the GPS central frequency for L1 = 1575.45 MHz, or L2 = 1227.60 MHz,
L5 = 1176.45 MHz, varying GLO channels, etc.

The value is only available if `https://developer.android.com/reference/android/location/GnssStatus#hasCarrierFrequencyHz(int)` is
`true`.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `float` | Value is 0.0f or greater <br /> |

### getCn0DbHz

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

```
public float getCn0DbHz (int satelliteIndex)
```

Retrieves the carrier-to-noise density at the antenna of the satellite at the specified index
in dB-Hz.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `float` | Value is between 0.0f and 63.0f inclusive <br /> |

### getCodeType

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

```
public String getCodeType (int satelliteIndex)
```

Gets the code type as defined in `https://developer.android.com/reference/android/location/GnssMeasurement#getCodeType()` of the satellite at
the specified index.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_A` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_B` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_C` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_D` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_E` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_I` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_L` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_M` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_N` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_P` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_Q` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_S` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_W` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_X` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_Y` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_Z` - `https://developer.android.com/reference/android/location/GnssMeasurement#CODE_TYPE_UNKNOWN` |

### getConstellationType

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

```
public int getConstellationType (int satelliteIndex)
```

Retrieves the constellation type of the satellite at the specified index.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_UNKNOWN` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GPS` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_SBAS` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GLONASS` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_QZSS` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_BEIDOU` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_GALILEO` - `https://developer.android.com/reference/android/location/GnssStatus#CONSTELLATION_IRNSS` |

### getElapsedRealtimeNanos

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

```
public long getElapsedRealtimeNanos (int satelliteIndex)
```

Returns the elapsed real-time of this GnssStatus since system boot, in nanoseconds.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1 The value is only available if `https://developer.android.com/` is `true`. Value is 0 or greater |

| Returns ||
|---|---|
| `long` | Value is 0 or greater <br /> |

### getElapsedRealtimeUncertaintyNanos

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

```
public double getElapsedRealtimeUncertaintyNanos (int satelliteIndex)
```

Returns the estimate of the relative precision of the alignment of the `https://developer.android.com/` timestamp, with the reported GnssStatus in nanoseconds (68%
confidence).

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1 The value is only available if `https://developer.android.com/` is `true`. Value is 0 or greater |

| Returns ||
|---|---|
| `double` | Value is 0.0f or greater <br /> |

### getElevationDegrees

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

```
public float getElevationDegrees (int satelliteIndex)
```

Retrieves the elevation of the satellite at the specified index.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `float` | Value is between -90.0f and 90.0f inclusive <br /> |

### getSatelliteCount

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

```
public int getSatelliteCount ()
```

Gets the total number of satellites in satellite list.

<br />

| Returns ||
|---|---|
| `int` | Value is 0 or greater <br /> |

### getSvid

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

```
public int getSvid (int satelliteIndex)
```

Gets the identification number for the satellite at the specific index.

This svid is pseudo-random number for most constellations. It is FCN \& OSN number for
Glonass.

The distinction is made by looking at constellation field `https://developer.android.com/reference/android/location/GnssStatus#getConstellationType(int)` Expected values are in the range of:

- GPS: 1-32
- SBAS: 120-151, 183-192
- GLONASS: One of: OSN, or FCN+100
  - 1-25 as the orbital slot number (OSN) (preferred, if known)
  - 93-106 as the frequency channel number (FCN) (-7 to +6) plus 100. i.e. encode FCN of -7 as 93, 0 as 100, and +6 as 106
- QZSS: 183-212
- Galileo: 1-36
- Beidou: 1-63
- IRNSS: 1-14

See [RINEX (The Receiver
Independent Exchange Format) Version 4.00](https://files.igs.org/pub/data/format/rinex_4.00.pdf).

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `int` | Value is 1 or greater <br /> |

### hasAlmanacData

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

```
public boolean hasAlmanacData (int satelliteIndex)
```

Reports whether the satellite at the specified index has almanac data.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasBasebandCn0DbHz

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

```
public boolean hasBasebandCn0DbHz (int satelliteIndex)
```

Reports whether a valid `https://developer.android.com/reference/android/location/GnssStatus#getBasebandCn0DbHz(int)` is available.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasCarrierFrequencyHz

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

```
public boolean hasCarrierFrequencyHz (int satelliteIndex)
```

Reports whether a valid `https://developer.android.com/reference/android/location/GnssStatus#getCarrierFrequencyHz(int)` is available.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasCodeType

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

```
public boolean hasCodeType (int satelliteIndex)
```

Reports whether a valid `https://developer.android.com/` is available.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasElapsedRealtimeNanos

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

```
public boolean hasElapsedRealtimeNanos (int satelliteIndex)
```

Returns `true` if `https://developer.android.com/` is available, `false`
otherwise.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasElapsedRealtimeUncertaintyNanos

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

```
public boolean hasElapsedRealtimeUncertaintyNanos (int satelliteIndex)
```

Returns `true` if `https://developer.android.com/` is available, `false` otherwise.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hasEphemerisData

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

```
public boolean hasEphemerisData (int satelliteIndex)
```

Reports whether the satellite at the specified index has ephemeris data.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### hashCode

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

```
public int hashCode ()
```

Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
`https://developer.android.com/reference/java/util/HashMap`.


The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### usedInFix

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

```
public boolean usedInFix (int satelliteIndex)
```

Reports whether the satellite at the specified index was used in the calculation of the most
recent position fix.

This flag must be set to true only if both of the following conditions are met:

1. Fresh data from the respective satellite arrives at the Position Engine (PE).
2. The PE uses this fresh data.

Data is considered fresh as long as it arrives from the Measurement Engine (ME) less than
1 second ago.

If this flag is true, then there must be a corresponding GnssMeasurement reported less
than 1 second ago. However, raw measurements reporting must not be affected by this flag.

Note that the PE might use an older measurement for an extended time, but this flag must
be set to false in that case.

<br />

| Parameters ||
|---|---|
| `satelliteIndex` | `int`: An index from zero to `https://developer.android.com/reference/android/location/GnssStatus#getSatelliteCount()` - 1. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### writeToParcel

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

```
public void writeToParcel (Parcel parcel, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `parcel` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |