在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完全停止接收GPGGAGPRMC句子,但是它接收到很多其他句子,但没有那两个。

问题

  • 谁能解释或给我一个提示,为什么在GPS信号不好的情况下我收到垃圾数据,而在GPS信号很强的情况下为什么我根本没有收到GPGGAGPRMC句子? / p>

  • 我应该怎么做才能不断开始听GPGGAGPRMC句子?

设备

  • Pixel 3a XL
  • Android 10
  • 已连接WiFI和4G

源代码

https://gist.github.com/ChamichApps/c0c85c5ccc87f159c7e1676dbe0d02ff

注释

有趣的是,相同的源代码正在Samsung S10 +上运行,我可以看到GPGGAGPRMC日志。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...