我的安卓定位管理器修复程序是来自手机塔还是无线网络



我有一个android应用程序,它使用LocationManager来获得地理位置修复,使用精细(GPS(或粗略(网络/wi-fi(定位,我需要知道任何特定的位置修复来自哪里。

我可以使用

if(LocationManager.GPS_PROVIDER.equals(location.getProvider(((({…

以确定修复来自GPS和

if(LocationManager.NETWORK_PROVIDER.equals(location.getProvider(((({…

来确定它是来自移动网络还是来自wi-fi,但我不知道是哪一个。

我的问题是,该应用程序是为在火车上使用而设计的,火车无线网络并不总是提供正确的位置(我曾乘坐欧洲之星从伦敦前往巴黎,在整个旅程中,地理位置告诉我我们在巴黎北站,即使火车在伦敦圣潘克拉斯!(

有人知道告诉LocationManager忽略无线网络,只给我移动网络或GPS的位置吗?如果这不可能,至少有办法判断一个粗略的位置是否来自无线网络的移动网络吗?

我想我在寻找其他东西时偶然发现了自己问题的答案。我发现了以下声明:

应用程序无法指定LocationClient使用的确切位置源,如GPS。事实上,该系统可能有多个位置源(提供者(在运行,并且可以将来自多个源的结果融合到单个位置对象中。

此处:

https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest

看起来我不能做我想做的事。如果有人知道办法,请告诉我。