GnssNavigationMessage


public final class GnssNavigationMessage
extends Object implements Parcelable

java.lang.Object
   ↳ android.location.GnssNavigationMessage


A class containing a GNSS satellite Navigation Message.

Summary

Nested classes

class GnssNavigationMessage.Callback

Used for receiving GNSS satellite Navigation Messages from the GNSS engine. 

Constants

int STATUS_PARITY_PASSED

The Navigation Message was received without any parity error in its navigation words.

int STATUS_PARITY_REBUILT

The Navigation Message was received with words that failed parity check, but the receiver was able to correct those words.

int STATUS_UNKNOWN

The Navigation Message Status is 'unknown'.

int TYPE_BDS_CNAV1

Beidou CNAV1 message contained in the structure.

int TYPE_BDS_CNAV2

Beidou CNAV2 message contained in the structure.

int TYPE_BDS_D1

Beidou D1 message contained in the structure.

int TYPE_BDS_D2

Beidou D2 message contained in the structure.

int TYPE_GAL_F

Galileo F/NAV message contained in the structure.

int TYPE_GAL_I

Galileo I/NAV message contained in the structure.

int TYPE_GLO_L1CA

Glonass L1 CA message contained in the structure.

int TYPE_GPS_CNAV2

GPS CNAV-2 message contained in the structure.

int TYPE_GPS_L1CA

GPS L1 C/A message contained in the structure.

int TYPE_GPS_L2CNAV

GPS L2-CNAV message contained in the structure.

int TYPE_GPS_L5CNAV

GPS L5-CNAV message contained in the structure.

int TYPE_IRN_L1

NavIC L1 message contained in the structure.

int TYPE_IRN_L5

NavIC L5 message contained in the structure.

int TYPE_IRN_L5CA

NavIC L5 C/A message contained in the structure.

int TYPE_QZS_L1CA

QZSS L1 C/A message contained in the structure.

int TYPE_SBS

SBAS message contained in the structure.

int TYPE_UNKNOWN

Message type unknown

Inherited constants

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): 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 Creator<GnssNavigationMessage> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

byte[] getData()

Gets the data of the reported GNSS message.

int getMessageId()

Gets the Message identifier.

int getStatus()

Gets the Status of the navigation message contained in the object.

int getSubmessageId()

Gets the sub-message identifier, relevant to the getType() of the message.

int getSvid()

Gets the satellite ID.

int getType()

Gets the type of the navigation message contained in the object.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel parcel, int flags)

Flatten this object in to a Parcel.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

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

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(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 wait(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 wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Constants

STATUS_PARITY_PASSED

Added in API level 24
public static final int STATUS_PARITY_PASSED

The Navigation Message was received without any parity error in its navigation words.

Constant Value: 1 (0x00000001)

STATUS_PARITY_REBUILT

Added in API level 24
public static final int STATUS_PARITY_REBUILT

The Navigation Message was received with words that failed parity check, but the receiver was able to correct those words.

Constant Value: 2 (0x00000002)

STATUS_UNKNOWN

Added in API level 24
public static final int STATUS_UNKNOWN

The Navigation Message Status is 'unknown'.

Constant Value: 0 (0x00000000)

TYPE_BDS_CNAV1

Added in API level 30
public static final int TYPE_BDS_CNAV1

Beidou CNAV1 message contained in the structure.

Constant Value: 1283 (0x00000503)

TYPE_BDS_CNAV2

Added in API level 30
public static final int TYPE_BDS_CNAV2

Beidou CNAV2 message contained in the structure.

Constant Value: 1284 (0x00000504)

TYPE_BDS_D1

Added in API level 24
public static final int TYPE_BDS_D1

Beidou D1 message contained in the structure.

Constant Value: 1281 (0x00000501)

TYPE_BDS_D2

Added in API level 24
public static final int TYPE_BDS_D2

Beidou D2 message contained in the structure.

Constant Value: 1282 (0x00000502)

TYPE_GAL_F

Added in API level 24
public static final int TYPE_GAL_F

Galileo F/NAV message contained in the structure.

Constant Value: 1538 (0x00000602)

TYPE_GAL_I

Added in API level 24
public static final int TYPE_GAL_I

Galileo I/NAV message contained in the structure.

Constant Value: 1537 (0x00000601)

TYPE_GLO_L1CA

Added in API level 24
public static final int TYPE_GLO_L1CA

Glonass L1 CA message contained in the structure.

Constant Value: 769 (0x00000301)

TYPE_GPS_CNAV2

Added in API level 24
public static final int TYPE_GPS_CNAV2

GPS CNAV-2 message contained in the structure.

Constant Value: 260 (0x00000104)

TYPE_GPS_L1CA

Added in API level 24
public static final int TYPE_GPS_L1CA

GPS L1 C/A message contained in the structure.

Constant Value: 257 (0x00000101)

TYPE_GPS_L2CNAV

Added in API level 24
public static final int TYPE_GPS_L2CNAV

GPS L2-CNAV message contained in the structure.

Constant Value: 258 (0x00000102)

TYPE_GPS_L5CNAV

Added in API level 24
public static final int TYPE_GPS_L5CNAV

GPS L5-CNAV message contained in the structure.

Constant Value: 259 (0x00000103)

TYPE_IRN_L1

Added in API level 35
public static final int TYPE_IRN_L1

NavIC L1 message contained in the structure.

Constant Value: 1795 (0x00000703)

TYPE_IRN_L5

Added in API level 35
public static final int TYPE_IRN_L5

NavIC L5 message contained in the structure.

Constant Value: 1794 (0x00000702)

TYPE_IRN_L5CA

Added in API level 30
public static final int TYPE_IRN_L5CA

NavIC L5 C/A message contained in the structure.

Constant Value: 1793 (0x00000701)

TYPE_QZS_L1CA

Added in API level 30
public static final int TYPE_QZS_L1CA

QZSS L1 C/A message contained in the structure.

Constant Value: 1025 (0x00000401)

TYPE_SBS

Added in API level 30
public static final int TYPE_SBS

SBAS message contained in the structure.

Constant Value: 513 (0x00000201)

TYPE_UNKNOWN

Added in API level 24
public static final int TYPE_UNKNOWN

Message type unknown

Constant Value: 0 (0x00000000)

Fields

CREATOR

Added in API level 24
public static final Creator<GnssNavigationMessage> CREATOR

Public methods

describeContents

Added in API level 24
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 writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getData

Added in API level 24
public byte[] getData ()

Gets the data of the reported GNSS message.

The bytes (or words) specified using big endian format (MSB first).

  • For GPS L1 C/A, NavIC L5, Beidou D1 & Beidou D2, each subframe contains 10 30-bit words. Each word (30 bits) should be fit into the last 30 bits in a 4-byte word (skip B31 and B32), with MSB first, for a total of 40 bytes, covering a time period of 6, 6, and 0.6 seconds, respectively.
  • For Glonass L1 C/A, each string contains 85 data bits, including the checksum. These bits should be fit into 11 bytes, with MSB first (skip B86-B88), covering a time period of 2 seconds.
  • For Galileo F/NAV, each word consists of 238-bit (sync & tail symbols excluded). Each word should be fit into 30-bytes, with MSB first (skip B239, B240), covering a time period of 10 seconds.
  • For Galileo I/NAV, each page contains 2 page parts, even and odd, with a total of 2x114 = 228 bits, (sync & tail excluded) that should be fit into 29 bytes, with MSB first (skip B229-B232).
  • For SBAS, each block consists of 250 data bits, that should be fit into 32 bytes. MSB first (skip B251-B256).
  • For Beidou CNAV1, subframe #1 consists of 14 data bits, that should be fit into 2 bytes. MSB first (skip B15-B16). subframe #2 consists of 600 bits that should be fit into 75 bytes. subframe #3 consists of 264 data bits that should be fit into 33 bytes.
  • For Beidou CNAV2, each subframe consists of 288 data bits, that should be fit into 36 bytes.
  • For NavIC L1, subframe #1 consists of 9 data bits that should be fit into 2 bytes (skip B10-B16). subframe #2 consists of 600 bits that should be fit into 75 bytes. subframe #3 consists of 274 data bits that should be fit into 35 bytes (skip B275-B280).

Returns
byte[] This value cannot be null.

getMessageId

Added in API level 24
public int getMessageId ()

Gets the Message identifier.

This provides an index to help with complete Navigation Message assembly. Similar identifiers within the data bits themselves often supplement this information, in ways even more specific to each message type; see the relevant satellite constellation ICDs for details.

  • For GPS L1 C/A subframe 4 and 5, this value corresponds to the 'frame id' of the navigation message, in the range of 1-25 (Subframe 1, 2, 3 does not contain a 'frame id' and this value can be set to -1.)
  • For Glonass L1 C/A, this refers to the frame ID, in the range of 1-5.
  • For BeiDou D1, this refers to the frame number in the range of 1-24
  • For Beidou D2, this refers to the frame number, in the range of 1-120
  • For Galileo F/NAV nominal frame structure, this refers to the subframe number, in the range of 1-12
  • For Galileo I/NAV nominal frame structure, this refers to the subframe number in the range of 1-24
  • For SBAS and Beidou CNAV2, this is unused and can be set to -1.
  • For QZSS L1 C/A subframe 4 and 5, this value corresponds to the 'frame id' of the navigation message, in the range of 1-25 (Subframe 1, 2, 3 does not contain a 'frame id' and this value can be set to -1.)
  • For Beidou CNAV1 this refers to the page type number in the range of 1-63.
  • For NavIC L5 subframe 3 and 4, this value corresponds to the Message Id of the navigation message, in the range of 1-63. (Subframe 1 and 2 does not contain a message type id and this value can be set to -1.)
  • For NavIC L1 subframe 3, this value corresponds to the Message Id of the navigation message, in the range of 1-63. (Subframe 1 and 2 does not contain a message type id and this value can be set to -1.)

Returns
int Value is between -1 and 120 inclusive

getStatus

Added in API level 24
public int getStatus ()

Gets the Status of the navigation message contained in the object.

getSubmessageId

Added in API level 24
public int getSubmessageId ()

Gets the sub-message identifier, relevant to the getType() of the message.

  • For GPS L1 C/A, BeiDou D1 & BeiDou D2, the submessage id corresponds to the subframe number of the navigation message, in the range of 1-5.
  • For Glonass L1 C/A, this refers to the String number, in the range from 1-15
  • For Galileo F/NAV, this refers to the page type in the range 1-6
  • For Galileo I/NAV, this refers to the word type in the range 1-10+
  • For Galileo in particular, the type information embedded within the data bits may be even more useful in interpretation, than the nominal page and word types provided in this field.
  • For SBAS, the submessage id corresponds to the message type, in the range 1-63.
  • For Beidou CNAV1, the submessage id corresponds to the subframe number of the navigation message, in the range of 1-3.
  • For Beidou CNAV2, the submessage id corresponds to the message type, in the range 1-63.
  • For NavIC L5, the submessage id corresponds to the subframe number of the navigation message, in the range of 1-4.
  • For NavIC L1, the submessage id corresponds to the subframe number of the navigation message, in the range of 1-3.

Returns
int Value is 1 or greater

getSvid

Added in API level 24
public int getSvid ()

Gets the satellite ID.

Range varies by constellation. See definition at GnssStatus#getSvid(int)

Returns
int Value is between 1 and 200 inclusive

getType

Added in API level 24
public int getType ()

Gets the type of the navigation message contained in the object.

toString

Added in API level 24
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 24
public void writeToParcel (Parcel parcel, 
                int flags)

Flatten this object in to a Parcel.

Parameters
parcel Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Apr 11, 2024

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Jun 18, 2024