我正在使用NMEAListener
测试一个应用程序,并注意到我需要调用LocationManager.requestLocationUpdates
使其接收字符串。因此,要使用NMEAListener
,我需要先注册常规的Location侦听器。我在文档中没有发现应该采用这种方法。如果仅注册NMEAListener,则不会接收到任何字符串(并且永远不会显示顶部系统栏中的GPS图标)。似乎该监听器未打开GPS。
您认为这是一个错误吗?
注意:我正在使用2.3 Gingerbread。
更新
这些问题可能与以下方面有关:
Issue 7321
Issue 15500
最佳答案
NmeaListener(到2019年将有很长的历史)似乎只是请求GPS提供商位置更新的副产品。如果您使用NETWORK_PROVIDER进行LocationManager.requestLocationUpdates,则您也不会收到nmea语句。
我认为GPS芯片仅发出NMEA语句,而android系统将其转换为Location类数据,并将其完全未经计算地推送给NmeaListener。另一种方法是不可用的:使用GSM / WLAN数据计算经纬度,然后转换为“伪” NMEA语句是不可行的。
关于android - NMEAListener不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9359875/