Questions tagged «android-location»

10
在Android中获取用户位置的好方法
问题: 尽快使用户的当前位置在阈值之内,同时节省电池。 为什么问题是一个问题: 首先,android有两个提供程序;网络和GPS。有时网络会更好,有时GPS会更好。 “更好”是指速度与精度之比。 如果我几乎可以立即获得位置信息而无需打开GPS,则我愿意牺牲几米的精度。 其次,如果您请求位置更改的更新,并且当前位置稳定,则不会发送任何内容。 Google提供了一个确定“最佳”位置的示例:http : //developer.android.com/guide/topics/location/obtaining-user-location.html#BestEstimate 但我认为这没有应该做的那么好/可能。 我有点困惑,为什么google没有用于位置的标准化API,开发人员不必关心位置的来源,您只需指定所需的内容,然后电话为您选择。 我需要什么帮助: 我需要找到一种确定“最佳”位置的好方法,也许是通过某种启发式方法,或者通过一些第三方库。 这并不意味着确定最佳提供商! 我可能会使用所有提供商,并从中选择最好的提供商。 应用程序的背景: 该应用程序将以固定的时间间隔(假设每10分钟左右)收集用户的位置,并将其发送到服务器。 该应用程序应尽可能节省电池,并且该位置的精度应为X(50-100?)米。 目标是以后能够在一天中在地图上绘制用户的路径,因此我需要足够的准确性。 其他: 您认为期望和接受的精度的合理值是多少? 我一直在使用100m作为可接受的值,并根据需要使用30m,这是个要问的问题吗? 我希望以后能够在地图上绘制用户的路径。 理想的100m和可接受的500m是否更好? 另外,现在我在每次位置更新中最多打开GPS 60秒,如果您在室内,精度可能达到200m,这太短了,无法找到位置吗? 这是我当前的代码,感谢任何反馈(除了缺少错误检查(TODO)): protected void runTask() { final LocationManager locationManager = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); updateBestLocation(locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER)); updateBestLocation(locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER)); if (getLocationQuality(bestLocation) != LocationQuality.GOOD) { Looper.prepare(); setLooper(Looper.myLooper()); …

5
我什么时候应该使用ACCESS_COARSE_LOCATION权限?
我正在构建一个Android应用程序,该应用程序将跟踪用户的地理位置并在地图上绘制其路线。 我使用的是谷歌播放服务的位置API,如所描述这里。 很明显,我的应用程序需要ACCESS_FINE_LOCATION许可,我将其放入清单中: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 我还需要ACCESS_COARSE_LOCATION许可吗?我需要粗略位置的用例是什么?

4
Android中具有位置侦听器的后台服务
我正在创建一个将在其自己的进程中运行的后台服务。如果设备位置已更改,它应该允许我收听。我应该能够在通知UI之前更改条件,例如移动的距离。 我该怎么做?我对服务和LocationListener实现有一点了解。围绕网络的任何教程将不胜感激。 我从堆栈溢出中获得了一个反向链接,但是我对它的了解不多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.