首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >融合定位提供者-获得高精度

融合定位提供者-获得高精度
EN

Stack Overflow用户
提问于 2019-04-14 15:40:43
回答 1查看 2.7K关注 0票数 2

我正试图找到一种方法来提高从Google Play Services的融合定位提供商获得的准确性。

我正在测试一个使用LocationServices的应用程序,它允许用户从一组更新频率中进行选择(每隔30秒、每分钟、每5分钟、每10分钟)。然后,它以PRIORITY_HIGH_ACCURACY的优先级,从具有选定间隔的融合位置提供程序请求位置更新。

这是可行的,但获得的位置似乎并不像他们可能的那样准确。精度值通常超过10米,而第三方GPS应用程序(如GPS测试)通常在我等待足够长的时间后达到更高的精度。

Android文档有以下几点:

PRIORITY_HIGH_ACCURACY的优先级,加上您在应用程序清单中定义的ACCESS_FINE_LOCATION权限设置,以及快速更新间隔5000毫秒(5秒),使融合位置提供程序返回准确到几英尺以内的位置更新。这种方法适用于实时显示位置的应用程序的映射。

事实上,当我选择一个非常小的频率(例如5秒或2秒)时,我注意到所获得的位置的准确性总体上有所提高--它们有时达到3-4米的精度。然而,似乎选择较大的更新间隔会导致较低的精度。

因此,我正在考虑以下策略:按用户选择的间隔安排一个任务:(1)每隔几秒钟(2秒)开始请求位置更新,(2)等待20秒,然后(3)停止请求更新。

我试图在前台服务中使用Handler来实现这一点。当屏幕打开时,它可以工作,但是,一旦屏幕关闭,调度看起来就变得不可预测了。因此,看来我将不得不求助于类似AlarmManager的东西来安排这项任务。这个答案提出了一种类似的方法:https://stackoverflow.com/a/26298509/1131904;我还发现了本文,它解决了如何以高效的电池方式安排周期性任务的类似问题:https://wangjingke.com/2016/09/23/Multiple-ways-to-schedule-repeated-tasks-in-android

还有其他人遇到过类似的问题吗?使用AlarmManager是一种好方法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-31 14:45:12

为了回答你的第一个问题,我们做了一些观察。一般情况下,高精度点(3~10m)的出现率随间隔的增加而减小.然而,供应商之间的确切行为似乎有所不同。在三星的S9和S8上,这个阈值似乎是10秒。在此间隔以上,高精度的位置非常罕见。在其他设备(像素3a,小米MI 8,OnePlus 6T)上,高精度的位置仍然在30秒的间隔内频繁出现。所有的观测都是在开阔的天空下进行的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55677089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档