首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android.location.LocationManager.PASSIVE_PROVIDER?的含义是什么?

android.location.LocationManager.PASSIVE_PROVIDER?的含义是什么?
EN

Stack Overflow用户
提问于 2011-04-13 20:31:26
回答 2查看 7.3K关注 0票数 10

我理解提供者 (来自GPS信号的位置)和提供者 (位置由蜂窝塔和无线接入点确定)的含义,但我不理解提供者的含义,尽管在API中有这样的定义:

用于接收位置而不实际启动位置修复的特殊位置提供程序。当其他应用程序或服务请求位置更新时,可以使用此提供程序被动地接收位置更新,而不必自己实际请求位置。此提供程序将返回其他提供程序生成的位置。您可以查询getProvider()方法以确定位置更新的来源。需要权限android.permission.ACCESS_FINE_LOCATION,尽管如果不启用GPS,此提供程序可能只返回粗修复。

为什么其中一个要使用这个而不是另一个提供者呢?为了节省电池寿命?如果其他应用程序显式地请求来自实际提供者的数据,被动提供程序只返回有用的信息,还是从它请求位置总是安全的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-13 20:38:47

正如您所指出的,此提供程序对于处理用户位置但不想浪费电池寿命的服务非常有用。

例如,谷歌纬度将你当前的位置发送到一个web服务,让你的朋友知道你在哪里。如果这项服务要求每5分钟安装一次全球定位系统,设备电池就会很快空出来。如果服务请求被动位置提供程序,则每次启动Google地图时发送位置,修复程序或其他应用程序启动位置提供程序更新,并且服务可以对位置数据进行操作,而无需在位置更新上花费额外的能量。

如果您需要正确的位置数据,在一个确切的时刻,使用此提供程序是没有帮助的。对于大多数不在后台服务中运行的东西,这个位置提供程序是无用的,因为只有当其他应用程序触发用户位置更新时,它才会发送更新。

票数 20
EN

Stack Overflow用户

发布于 2011-04-13 20:42:09

要添加到@Janusz,当您由于其他人的提供者而接收到一个补丁,并且您希望知道这个补丁来自哪个提供者(网络或GPS)时,您可以调用getProvider()来查找这个补丁。

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

https://stackoverflow.com/questions/5655241

复制
相关文章

相似问题

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