获取设备位置onDemand

时间:2015-09-26 20:27:08

标签: android gps geolocation

所以有很多关于获取设备位置的讨论。我的需求非常特殊,我想知道是否有确切答案。

  • 我不想跟踪用户。
  • 我的应用中有一项需要定位的特定活动。因此,当用户采取特定操作时,我需要获取设备的位置。
  • 我需要快速发生位置获取
  • 我想要精致的位置。

Android示例似乎只是粗略位置https://developer.android.com/training/location/retrieve-current.html

这里的答案似乎是关于跟踪用户。

对于我的应用,相关操作根本不常见(可能一周一次或两次),但当用户想要使用该功能时,我需要最精细的当前位置。

这是我追踪用户的唯一解决方案吗?

1 个答案:

答案 0 :(得分:1)

您链接的文档指定:

  

您选择的权限决定了API返回的位置的准确性

以后

  

此调用返回的位置精度取决于您在应用清单中放置的权限设置,如本文档的“指定应用权限”部分所述。

因此,如果您添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>,那么您将获得良好的位置。

也就是说,您可能无法获得位置,因为用户没有最后位置(例如,很久以前就检索过它)。

  

getLastLocation()方法返回一个Location对象(...)。在位置不可用的情况下,返回的位置对象可能为空。

然后,您只需按照documentation开始跟踪用户位置,但在第一次更新后,您可以立即停止跟踪并释放资源。这几乎可以确保您的位置(如果可用),但可能不会立即。