Источник предложений NMEA в Android LocationManager

У меня есть Note2, который перестал предоставлять правильную информацию о местоположении GPS из-за WNRO.

Из регистрации предложений NMEA я вижу, что доставлена ​​неправильная дата, и, кроме того, сатфикс теряется каждые пару секунд/минут. Note2 использует бинарный проприетарный драйвер (gpsd) от Broadcom для взаимодействия с чипом. Чтобы увидеть, можно ли это исправить (как я делал на некоторых других устройствах), мне нужно знать, что отвечает в Android за вывод предложений NMEA.

Всегда ли предложения NMEA выводятся напрямую чипом GPS и соответствующими драйверами в именованный канал или предложения NMEA генерируются инфраструктурой/API LocationManager?


person TJJ    schedule 17.10.2019    source источник


Ответы (1)


Предложения NMEA генерируются чипом GPS и, например,

через android.location.GpsStatus.NmeaListener

Используется для получения предложений NMEA от GPS.

Реализуя этот интерфейс и вызывая

LocationManager#addNmeaListener для получения данных NMEA от механизма GPS.

https://developer.android.com/reference/android/location/GpsStatus.NmeaListener

Обе цитаты указывают на то, что предложения NMEA не генерируются Android Location API.

Примечание. Я сослался на устаревший интерфейс (GpsStatus.NmeaListener), поскольку Note2 — это старое устройство и, скорее всего, использует его.

person LuisTavares    schedule 21.10.2019
comment
Таким образом, прошивка/драйвер чипа GPS отвечает за генерацию правильных предложений NMEA? - person TJJ; 28.10.2019
comment
Что я могу сказать, так это то, что вы получите несколько необработанных пакетов NMEA, например, с обратным вызовом onNmeaReceived(). Полученные предложения NMEA предположительно верны. - person LuisTavares; 29.10.2019