我只有一台设备 (HTC HD Deside) 用于测试我的应用程序以及何时需要使用
locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"
我的 GPS 图标出现在通知栏中,但它“闪烁”,就好像这意味着我的设备正在寻找并获取 GPS 数据。 因此,我的应用程序在成功从 GPS 获取数据之前花费了太多的“思考”时间(~100 万到 300 万!)(在图标停止闪烁之前)
所以,我不得不创建一个像这样的 while 指令:
do{
lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}while(System.currentTimeMillis() - lastLocation.getTime() > 5000);
谢谢,我肯定能找到最近的位置,但我浪费了太多时间。
有什么问题?是硬件吗? 我能找到更好的方法来解决这个问题吗? 我可以“快速”获取 GPS 数据吗? :/(1~5 秒)
最佳答案
我认为您应该阅读此 http://developer.android.com/guide/topics/location/strategies.html在开发位置感知应用程序之前提供指导。
GPS 传感器需要 1 到 3 分钟才能定位,您无法快速定位(1-5 秒随心所欲)。
您应该使用最后已知的位置值并开始请求位置修正。当你有一个时,你相应地刷新你的内容。
关于android - requestLocationUpdates 花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15328056/