在应用程序中,我需要每隔x分钟(现在它的5分钟和50米)获得手机的地理位置,这样手机在白天不会放电。位置精度必须至少为40米。到现在为止,我有gps和网络的听众。问题在于我可以接收的数据有时是完全错误的(取决于电话) - 新位置距我的实际位置甚至200米,准确度为40米;下一点可以是相同但反方向。对于我的应用程序它是致命的。 接下来的问题是:有没有办法获得更准确的数据,但不是很常见?
更新1:显示问题:
(手机处于固定位置)
答案 0 :(得分:0)
要获得更准确的位置,请确保您在清单中使用ACCESS_FINE_LOCATION权限。要防止更高的电池使用量,可以在LocationRequest对象上使用setInterval和setFastestInterval。更长的间隔意味着您的应用程序使用更少的电池。
答案 1 :(得分:0)
您不应直接访问gps和网络,而应使用LocationManager
并在Criteria
中使用ACCURACY_FINE
。这有助于延长电池寿命,并避免gps可能已被禁用的手机出现问题。有关here的详细信息。
就您所在位置的准确性而言,您可以使用Location
的{{1}}方法来获取Android对测量精确度的估计。如果它不符合您的标准,请将其丢弃并再次轮询。