LocationManager 在获取位置数据时如何选择使用哪个 NETWORK_PROVIDER?我希望能够识别 LocationManager 从中选择 NETWORK_PROVIDER 的提供者。
例如,附近有两个 NETWORK_PROVIDER 位置,X(接近)和 Y(不那么接近)。当站在一个地方时,有时 NETWORK_PROVIDER 会是 X,有时是 Y。我假设返回精度最高的位置(这就是通常返回 X 的原因),并且所有其他网络都被忽略,但我想同时返回所有附近网络(或至少前 2 或 3 个)的列表。
任何 .getProvider() 方法(据我所知)都返回提供者的类型(网络、gps、被动),但没有任何东西可以实际识别提供者。返回位置时,位置数据对于提供者来说是唯一的,但不能用于选择提供者。我可以从 X 获取数据,但我不能告诉程序忽略 X(或者我可以吗?)。
无论如何要做到这一点?要返回 NETWORK_PROVIDERS 的列表或数组,然后逐步通过它们获取位置数据?
不,使用 GPS_PROVIDER 不是一个可接受的答案,因为我只需要 NETWORK_PROVIDER 数据。