我创建了一个在模拟器上运行正常的应用程序(使用telnet和geo fix),但在设备上根本没有调用LocationListener的回调。
我已经检查了权限(在manifest.xml上),检查GPS是否处于活动状态(它是,并且在谷歌地图中正常工作,并且当我的应用程序打开时卫星绘图显示出来)。
有人对可能发生的事情有任何线索吗?
答案 0 :(得分:1)
你有没有:
(1)在你的机器上制作一个释放钥匙?
(2)根据您的发布密钥生成的MD5指纹从Google获取RELEASE API密钥?
(3)将Google密钥构建到您的代码或xml中?
(4)使用发布密钥签署您的申请?
除非您记得从Google网站获取第二个(发布)密钥,否则就是问题所在。
第二个想法是GPS应该仍然可以工作,只是你不会得到地图
答案 1 :(得分:0)
如果你的程序没有调用你的onLocationChange方法,那么你可能在里面或者你无法获得GPS信号的地方。尝试移动到一个能够清晰看到天空的地方。
您在位置监听器中定义了哪些方法?因为onProviderDisabled和onProiderEnabled函数即使没有GPS信号也能正常工作。
答案 2 :(得分:0)
问题确实与准确性有关,GPS不准确时不起作用。
但手动加载Wi-Fi失败了。
正确的解决方案是使用条件类,然后根据条件自动查找“最佳提供商”。它会接受不良的准确度值,也会在更准确的情况下使用最终值,以及其他方式,模仿GPS地图APP上的GPS行为。