什么是位置提供者“被动”?在装有 Android 2.2 的 HTC Desire 上看到

Posted

技术标签:

【中文标题】什么是位置提供者“被动”?在装有 Android 2.2 的 HTC Desire 上看到【英文标题】:What's location provider "passive"? Seen on HTC Desire with Android 2.2 【发布时间】:2011-05-29 23:54:52 【问题描述】:

在进入基于位置的模式之前,我通过调用检查是否存在任何位置提供者

List<String> android.location.LocationManager.getProviders(boolean enabledOnly) //enabledOnly = true

并检查结果列表的大小。

现在我在装有 Android 2.2 的 HTC Desire 上测试了我的应用程序。系统设置不允许任何位置跟踪(GPS 和移动已关闭)。

但是,返回的列表有 1 个条目,其值为“被动”。它是什么?我可以使用它吗?提供程序似乎很慢/无法正常工作。

【问题讨论】:

【参考方案1】:

来自Android API reference:

一种特殊的位置提供程序,用于在不实际启动位置修复的情况下接收位置。当其他应用程序或服务请求位置更新时,此提供程序可用于被动接收位置更新,而无需自己实际请求位置。此提供程序将返回其他提供程序生成的位置。

因此,不,如果没有其他可用的位置提供程序,它可能对您没有任何好处。

【讨论】:

我明白了,这是Android API 8 (2.2)引入的新提供者

以上是关于什么是位置提供者“被动”?在装有 Android 2.2 的 HTC Desire 上看到的主要内容,如果未能解决你的问题,请参考以下文章

我有“网络”位置提供商,但得到:提供商“网络”未知,为啥?

LocationManager-定位方式原理解析

在Python中获取精确的Android GPS位置

在 Android SDK for Cordova 7.0.1 中安装有啥要求

使用 LocationManager Get Provider 的 Android 在 My Moto G Android 手机中是“被动的”

如何在运行时请求位置权限