为什么需要在启用GPS后等待一段时间才能工作?

时间:2014-11-13 06:43:29

标签: android gps locationmanager

我正在创建一个小应用,当用户点击按钮时,应用会获取用户位置并打开Goog​​le地图。

问题是,如果用户手机没有启用GPS,则启用它并再次点击该按钮,此方法将返回null

location = service.getLastKnownLocation(provider);

当我等待启用GPS然后单击按钮后,该方法将正常工作并返回位置。

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

  

为什么需要在启用GPS后等待一段时间才能工作?

这是因为当你启用GPS时,它会修复卫星的位置,并根据你能够获得位置。

答案 1 :(得分:0)

这显然是一种默认行为,当你停止GPS并再次启动时,启动和停止之间会有一个小的差距,此时,GPS将完成任务,获取卫星数据,之后它将为您提供地点。如果我们想要快速驾驶,那么我们必须从第一档开始,相同的GPS行为。

答案 2 :(得分:0)

正如上面提到的答案,设备将在一段时间后获得位置。如果您处于流程的中间位置,则可以显示ProgressSpinner并轮询getLastKnownLocation() x秒以获取位置。

答案 3 :(得分:0)

如果您没有使用GooglePlayServicesClient,请尝试使用此方法获取用户位置。

这是获得当前纬度的最快方法。

参考和代码使用以下链接。

http://developer.android.com/training/location/retrieve-current.html

我帮你了。