即使在移动设备之后,getLastKnownLocation()也始终返回相同的位置

时间:2012-10-13 23:20:14

标签: android google-maps google-maps-api-3 location

我通过执行

来设置我的位置管理器
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

然后我打电话给我的应用程序上有一个更新按钮,这样当按下它时,我将调用执行以下行

Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER)

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

我可以问我是否遗漏了什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

getLastKnownLocation()方法返回获取的最后一个GPS位置。如果您没有启动GPS位置获取以获取新位置,则此方法返回的值将始终为旧值。

您需要:

  • 使用lm.requestLocationUpdates()
  • 注册位置更新
  • 定义您onLocationChange()听众以接收新位置
  • android.permission.ACCESS_FINE_LOCATION档案
  • 中添加权限AndroidManifest.xml
  • 在手机设置中启用GPS利用率

问候