requestLocationUpdate 花费的时间太长

use*_*454 5 gps android locationlistener

我只有一台设备 (HTC HD Deside) 用于测试我的应用程序以及何时我想通​​过以下方式获取 GPS 数据

locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"
Run Code Online (Sandbox Code Playgroud)

我的 GPS 图标出现在通知栏中,但它“闪烁”,好像这意味着我的设备正在寻找并获取 GPS 数据。因此,我的应用程序在成功从 GPS 获取数据之前需要太多的“思考”时间(约 100 万到 300 万!)(在图标停止闪烁之前)

所以,我不得不创建一个像这样的 while 指令:

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

谢谢,我肯定会得到一个最近的位置,但我失去了太多时间。

有什么问题?是硬件吗?我能找到更好的方法来解决这个问题吗?我可以“快速”获取 GPS 数据吗?:/ (1~5 秒)

Yas*_*aka 1

当您位于建筑物或有遮盖区域内时,GPS 传感器可能需要更多时间。有时,如果您在建筑物内并且没有可用的 GPS 信号,它会一直闪烁并大量耗尽电池。尝试使用其他提供商。