1

我通过执行设置我的位置管理器

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

然后我调用在我的应用程序上有一个更新按钮,以便在按下它时,我将调用执行以下行

Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER)

然而,我得到的位置总是一样的,即使我拿着设备直走 20 米然后等待 10 分钟!

请问我是否遗漏了什么?

谢谢!

4

1 回答 1

3

getLastKnownLocation()方法返回获取的最后一个 GPS 位置。如果您不启动 GPS 位置获取以使其获取新位置,则此方法返回的值将始终是相同的旧值。

您将需要:

  • 注册位置更新lm.requestLocationUpdates()
  • 定义您onLocationChange()的侦听器以接收新位置
  • android.permission.ACCESS_FINE_LOCATIONAndroidManifest.xml文件中添加权限
  • 在电话设置中启用 GPS 使用

问候

于 2012-10-14T00:41:43.037 回答