requestLocationUpdate花费的时间太长

问题描述 投票:4回答:4

我只有一个设备(HTC HD Deside)用于测试我的应用程序,并且当我想使用]来获取GPS数据时>

locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"

我的GPS图标出现在通知栏中,但“闪烁”,好像这意味着我的设备正在寻找并获取GPS数据。因此,我的应用需要花费过多的“思考”时间,才能成功从GPS获取数据(大约1百万到3百万!)(在图标停止闪烁之前)

所以,我不得不创建类似while的指令:

do{
    lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}while(System.currentTimeMillis() - lastLocation.getTime() > 5000);

谢谢,我敢肯定会得到最近的位置,但是我浪费了太多时间。

有什么问题?是硬件吗?我可以找到一种更好的方法来解决此问题吗?我可以“快速”获得GPS数据吗? :/(1〜5秒)

我只有一个设备(HTC HD Deside)用于测试我的应用,并且当我想使用locationManager.requestLocationUpdate(criteria,0,0,this)获取GPS数据时; // critera =“ gps”我的GPS图标出现在...

android gps locationlistener
4个回答
0
投票

当您在建筑物或遮蔽区域内时,GPS传感器可能会花费更多时间。有时,如果您在建筑物内且没有GPS信号可用,则该建筑物始终闪烁并消耗大量电池。尝试利用其他提供程序。


2
投票

[我认为您在开发位置感知应用之前,应先阅读本http://developer.android.com/guide/topics/location/strategies.html指南。


0
投票

您是否已连接到数据网络?


0
投票

GPS提供商有时会消耗电池能量,还需要获取GPS信号,预热硬件,然后获取位置,如果是第一次使用它,可能会花费一些时间。

© www.soinside.com 2019 - 2024. All rights reserved.