GPS在仿真器上工作,但不在设备上工作

时间:2011-04-20 14:32:29

标签: android gps

我创建了一个在模拟器上运行正常的应用程序(使用telnet和geo fix),但在设备上根本没有调用LocationListener的回调。

我已经检查了权限(在manifest.xml上),检查GPS是否处于活动状态(它是,并且在谷歌地图中正常工作,并且当我的应用程序打开时卫星绘图显示出来)。

有人对可能发生的事情有任何线索吗?

3 个答案:

答案 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行为。