【发布时间】:2013-02-26 00:11:33
【问题描述】:
我只有一台设备 (HTC HD Deside) 用于测试我的应用程序以及何时我想使用
获取 GPS 数据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 秒)
【问题讨论】:
-
您需要更细粒度的 GPS 还是可以通过其他提供商获得?
-
我需要使用 GPS,因为我的应用程序将在没有 wifi/互联网的情况下使用 ^^ 所以,我必须使用 GPS(在任何地方获取数据纬度/经度/高度的唯一方法?)
-
您无需等待(或轮询)最后一个已知位置。一旦修复可用,将立即调用位置侦听器。如果可以从较早的 GPS 请求中获得修复,则最后一个已知位置可能很有用。如果没有可用的 null 则返回(顺便说一句,这会使你的循环崩溃)。
标签: android gps locationlistener