Какие телефоны в настоящее время поддерживают GnssNavigationMessage?
Документ разработчика: https://developer.android.com/reference/android/location/GnssNavigationMessage.Callback.html
Конференция Google I/O 2016 года и статья на сайте gpsworld.com показали, что планшет Nexus 9, телефон Nexus 5x, телефон Nexus 6p, телефон Pixel и телефон Pixel XL поддерживают необработанные измерения GNSS.
Я могу получить доступ к необработанным измерениям, но не к навигационным сообщениям. Когда я запускаю свое собственное приложение или GNSS Logger от Google (GitHub, инструмент измерения GPS), мои телефоны Nexus 5x и Pixel возвращают статус 0 (не поддерживается) для навигационных сообщений GNSS.
Было бы здорово проанализировать необработанные навигационные сообщения с каждого спутника; то есть альманах, эфемериды и другие данные. Но мне не удалось найти телефон под управлением Android 7.0 или более поздней версии, который действительно поддерживает новый API (что кажется необязательным).
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.registerGnssNavigationMessageCallback(new GnssNavigationMessage.Callback() {
@Override
public void onGnssNavigationMessageReceived(GnssNavigationMessage event) {
// never runs
}
@Override
public void onStatusChanged(int status) {
// runs once with status == 0
}
});