如何解决在onNmeaMessage
问题
我正在开发正在监听NMEA消息的应用程序,为此,我正在像这样添加NMEA监听器
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,TimeUnit.SECONDS.toMillis(1L),0.0f,new LocationListener() { /* Some code goes here*/ }
);
// ? Adding NMEA LISTENER ?
locationManager.addNmeaListener(new OnNmeaMessageListener() {
@Override
public void onNmeaMessage(String nmea,long timestampMs) {
Log.d(TAG,"NMEA Message Received [" + timestampMs + "]: " + nmea);
}
},new Handler(Looper.getMainLooper()));
我只对两种类型的NMEA句子感兴趣:
- GPGGA -全球定位系统修复数据
- GPRMC -建议的最低特定GPS /公交数据
但是问题是当我在房间里(无GPS信号或GPS信号不好)时,我会收到类似的数据
$GPGGA,*66
$GPRMC,V,N,V*29
当我出门(GPS信号很强)时,方法onNmeaMessage
完全停止接收GPGGA
和GPRMC
句子,但是它接收到很多其他句子,但没有那两个。
问题
-
谁能解释或给我一个提示,为什么在GPS信号不好的情况下我收到垃圾数据,而在GPS信号很强的情况下为什么我根本没有收到
GPGGA
和GPRMC
句子? / p> -
我应该怎么做才能不断开始听
GPGGA
和GPRMC
句子?
设备
- Pixel 3a XL
- Android 10
- 已连接WiFI和4G
源代码
https://gist.github.com/ChamichApps/c0c85c5ccc87f159c7e1676dbe0d02ff
注释
有趣的是,相同的源代码正在Samsung S10 +上运行,我可以看到GPGGA
和GPRMC
日志。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。