Ответ 1
Псевдо-диапазоны спутников недоступны в официальном API , ни через GpsStatus.Listener, ни в интерфейсах GpsStatus.NMEAListener.
Единственная доступная информация, доступная в классе GpsSatellite:
- PRN
- азимут
- высота
- С /N 0
- a "usedInFix" boolean.
Исходный код Android запрашивает только эти поля из собственного кода, поэтому не надейтесь получить его от какого-либо другого Java API.
Лучший способ получить эти данные в любом случае (что не подходит для приложения, доступного на рынке) - это изучить исходный код Android и найти собственный крючок для получения данных на низком уровне и доступа через JNI, или перекомпилировать полную ОС, модифицирующую API, в соответствии с вашими потребностями (вам также необходимо найти соответствующий собственный код для этого).
Наконец, если вы можете заставить набор микросхем отправить вам предложения GRS NMEA (вы получите их через стандартный интерфейс NMEAListener, сложность настройки набора микросхем для их отправки) может затем вычислить псевдодиапазоны (эти предложения содержат остатки спутников)
Удачи и дайте мне знать, если вы попробуете какие-либо из этих идей!