仅从 GPRS 网络提供商 Android 获取位置
Posted
技术标签:
【中文标题】仅从 GPRS 网络提供商 Android 获取位置【英文标题】:get location just from GPRS Network Provider Android 【发布时间】:2014-09-06 22:36:39 【问题描述】:我开发了一个从 GPS_PROVIDER 和 NETWORK_PROVIDER 接收位置的应用程序,但是 NETWORK_PROVIDER 返回从 WIFI 和 GPRS 检索到的最佳值,而无法对其进行任何控制。即使您启用了 WIFI,我也需要获取 GPRS 位置侦听器返回的值,因此我可以使用它来消除其他应用程序中的虚假位置。 可以这样做吗?
目前我正在测试此解决方案 Disable / Check for Mock Location (prevent gps spoofing) ,如果它解决了我的问题,我会通知您
【问题讨论】:
你怎么会出错?? 没有错误,我只需要WIFI和GPRS的位置,所以我可以单独处理它们。我需要知道我是否可以这样做 欺骗检测有效,但是“removeTestProvider(LocationManager.GPS_PROVIDER);”它的一部分不起作用,至少在带有 2.3.6 非自定义 ROM 的三星 GT-S5300 上。 【参考方案1】:很遗憾,这是不可能的,不。
你可以这样做:
final LocationManager locationManager = getLocationManager();
final List<String> providers = locationManager.getProviders(true);
if (providers.size() > 1)
providers.remove(LocationManager.NETWORK_PROVIDER);
但您无法区分手机还是 wifi 网络提供商!
此提供商根据手机信号塔的可用性确定位置 和 WiFi 接入点。通过网络检索结果 查找。
常数值:“网络”
来源:http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER
您可以尝试使用this solution。但是,由于这似乎没有记录在案,我会小心依赖它,因为它可能会在未来的操作系统版本中中断,或者可能无法在所有设备上运行。
【讨论】:
以上是关于仅从 GPRS 网络提供商 Android 获取位置的主要内容,如果未能解决你的问题,请参考以下文章