所以有很多关于获取设备位置的讨论。我的需求非常特殊,我想知道是否有确切答案。
Android示例似乎只是粗略位置https://developer.android.com/training/location/retrieve-current.html
这里的答案似乎是关于跟踪用户。
对于我的应用,相关操作根本不常见(可能一周一次或两次),但当用户想要使用该功能时,我需要最精细的当前位置。
这是我追踪用户的唯一解决方案吗?
答案 0 :(得分:1)
您链接的文档指定:
您选择的权限决定了API返回的位置的准确性
以后
此调用返回的位置精度取决于您在应用清单中放置的权限设置,如本文档的“指定应用权限”部分所述。
因此,如果您添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
,那么您将获得良好的位置。
也就是说,您可能无法获得位置,因为用户没有最后位置(例如,很久以前就检索过它)。
getLastLocation()方法返回一个Location对象(...)。在位置不可用的情况下,返回的位置对象可能为空。
然后,您只需按照documentation开始跟踪用户位置,但在第一次更新后,您可以立即停止跟踪并释放资源。这几乎可以确保您的位置(如果可用),但可能不会立即。