我理解GPS_PROVIDER(位置来自 GPS 信号)和NETWORK_PROVIDER(位置由蜂窝塔和无线接入点确定)的含义,但我不明白PASSIVE_PROVIDER的含义,尽管 API 中有定义:
一种特殊的位置提供程序,用于在不实际启动位置修复的情况下接收位置。当其他应用程序或服务请求位置更新时,此提供程序可用于被动接收位置更新,而无需自己实际请求位置。该提供者将返回由其他提供者生成的位置。您可以查询 getProvider() 方法来确定位置更新的来源。需要权限 android.permission.ACCESS_FINE_LOCATION,但如果未启用 GPS,此提供程序可能只会返回粗略的修复。
为什么要使用它而不是其他提供商之一?为了节省电池寿命?被动提供者是否仅在其他应用程序明确向真实提供者请求数据时才返回有用信息,或者从这里请求位置总是安全的?