我只有一台设备(HTC HD Deside)用于测试我的应用程序,以及当我想要获取GPS数据时使用
locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"我的GPS图标出现在通知栏中,但它“闪烁”,好像它意味着我的设备正在寻找和获取GPS数据。因此,我的应用程序在成功地从GPS获取数据(大约1百万到300万!)之前,需要花费太多的“思考”时间。(在图标停止闪烁之前)
因此,我不得不创建一条while指令,如下所示:
do{
lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}while(System.currentTimeMillis() - lastLocation.getTime() > 5000);多亏了这一点,我肯定会得到最近的位置,但我浪费了太多的时间。
有什么问题吗?是硬件问题吗?我能找到更好的方法来解决这个问题吗?我可以“快速”获取GPS数据吗?:/ (1~5秒)
发布于 2013-03-11 11:43:01
当您在建筑物或覆盖区域内时,GPS传感器可能需要更多时间。有时,如果你在一座建筑物内,没有可用的GPS信号,它总是闪烁,耗尽电池很多。尝试使用其他提供商。
发布于 2013-03-11 07:35:46
我认为在开发位置感知应用程序之前,你应该先阅读这篇http://developer.android.com/guide/topics/location/strategies.html指南。
GPS传感器需要1到3分钟来获得修复,您不能有一个非常快速的修复(1-5秒,你想要的)。
您应该使用上次已知的位置值,并开始请求位置修复。当你有一个时,你相应地刷新你的内容。
发布于 2013-03-12 15:52:25
您是否已连接到数据网络?
我不知道HTC,但通常情况下,当数据连接可用时,该设备会使用一种称为辅助GPS的东西。而不是扫描地平线上所有可见的卫星,卫星星历是从服务器下载的,修复所需的时间是10-20秒。
也有可能你在室内或低信号区,或者如果你有一个坏的天线。
使用市场上的GPS测试应用程序检查天线是否有问题(通过比较两个设备)。
https://stackoverflow.com/questions/15328056
复制相似问题