If device implementations include a 3-axis magnetometer, an accelerometer, they:
MAY implement the TYPE_GEOMAGNETIC_ROTATION_VECTOR sensor.
If device implementations include a 3-axis magnetometer, an accelerometer and
TYPE_GEOMAGNETIC_ROTATION_VECTOR sensor, they:
[C-3-1] MUST consume less than 10 mW.
SHOULD consume less than 3 mW when the sensor is registered for batch mode at 10 Hz.
7.3.3. GPS
Device implementations:
[C-SR] Are STRONGLY RECOMMENDED to include a GPS/GNSS receiver.
If device implementations include a GPS/GNSS receiver and report the capability to applications
through the android.hardware.location.gps feature flag, they:
[C-1-1] MUST support location outputs at a rate of at least 1 Hz when requested via
LocationManager#requestLocationUpdate .
[C-1-2] MUST be able to determine the location in open-sky conditions (strong signals,
negligible multipath, HDOP < 2) within 10 seconds (fast time to first fix), when connected
to a 0.5 Mbps or faster data speed internet connection. This requirement is typically met
by the use of some form of Assisted or Predicted GPS/GNSS technique to minimize
GPS/GNSS lock-on time (Assistance data includes Reference Time, Reference Location
and Satellite Ephemeris/Clock).
[C-1-6] After making such a location calculation, device implementations
MUST determine its location, in open sky, within 5 seconds, when location
requests are restarted, up to an hour after the initial location calculation, even
when the subsequent request is made without a data connection, and/or after
a power cycle.
In open sky conditions after determining the location, while stationary or moving with less
than 1 meter per second squared of acceleration:
[C-1-3] MUST be able to determine location within 20 meters, and speed within
0.5 meters per second, at least 95% of the time.
[C-1-4] MUST simultaneously track and report via GnssStatus.Callback at least 8
satellites from one constellation.
SHOULD be able to simultaneously track at least 24 satellites, from multiple
constellations (e.g. GPS + at least one of Glonass, Beidou, Galileo).
[C-SR] Are STRONGLY RECOMMENDED to continue to deliver normal
GPS/GNSS location outputs through GNSS Location Provider API's during an
emergency phone call.
[C-SR] Are STRONGLY RECOMMENDED to report GNSS measurements from all
constellations tracked (as reported in GnssStatus messages), with the
exception of SBAS.
[C-SR] Are STRONGLY RECOMMENDED to report AGC, and Frequency of GNSS
measurement.
[C-SR] Are STRONGLY RECOMMENDED to report all accuracy estimates
(including Bearing, Speed, and Vertical) as part of each GPS/GNSS location.
[C-SR] Are STRONGLY RECOMMENDED to report GNSS measurements, as
soon as they are found, even if a location calculated from GPS/GNSS is not yet
reported.
[C-SR] Are STRONGLY RECOMMENDED to report GNSS pseudoranges and
pseudorange rates, that, in open-sky conditions after determining the location,
while stationary or moving with less than 0.2 meter per second squared of
acceleration, are sufficient to calculate position within 20 meters, and speed
within 0.2 meters per second, at least 95% of the time.
7.3.4. Gyroscope
Device implementations:
[C-SR] Are STRONGLY RECOMMENDED to include a gyroscope sensor unless a 3-axis
accelerometer is also included.
Page 83 of 124