android - requestLocationUpdates 花费的时间太长

标签 android gps locationlistener

我只有一台设备 (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/

相关文章:

android - 在 Android 中长期运行的服务上读取、存储和发送读取的 GPS 位置

android - 调试 Android 2.3 浏览器崩溃

android - 在android中启用GPS后显示当前位置

c - 16F819 原始类型问题中的 GPS SD 卡数据记录器

java - 如何使用位置监听器在 Android 中获取新的位置 ping

android - BroadcastReceiver实现LocationListener : How to get context in onLocationChanged

android - 为什么框架布局没有正确绘制 z 索引?

javascript - AppEngine API 客户端身份验证在更新后停止工作

android - 远程()的实现

android - 在 cordova android 中检查 GPS 状态(开/关)