我正在编写 GPS 跟踪应用程序,我发现了一个问题:有一段时间它到达了我原来的位置,当我从手机中取出电池并重新启动手机时它工作正常。 我不知道为什么,你能帮我吗?
最佳答案
您可以通过两种方式在 Android 中检索位置。
1. 使用LocationManager
2. 使用LocationClient
(Google play 服务)
使用
LocationManager
,您必须为LocationManager
提供一个Provider
(GPS、NETWORK、WIFI、PASSIVE)。如果是 GPS 提供商,LocationManager
将使用硬件 GPS 来解析当前位置。如果此时 GPS 不可用 并且您调用GetLastKnownLocation()
。它将返回一个Location
对象,该对象来自 GPS 捕获的最后一个位置(如果有),如果没有,则返回null
。如果您尝试从getLastKnownLocation()
获取的Location
对象的getTime()
方法,它将在捕获最后一个位置时返回给您。 网络、wifi 或无源提供商也是如此。使用来自 google play 服务的
LocationClient
,LocationClient
将使用 * 自动为您提供最准确的当前位置
所有三个(如果可用)GPS、WIFI、3G(网络)* 通过调用getLastLocation()
。同样,这将返回一个Location
对象,其余部分将按照上面的解释进行。
使用任何更适合您应用的方法。
注意:LocationManager 将要求设备具有硬件 GPS,而 LocationClient 将需要 Google play 服务,GPS 不是必须的,但如果设备有一个,那么它将有利于位置更准确
关于Android GPS获取旧位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942798/