我开发了一个从GPS_PROVIDER和NETWORK_PROVIDER接收位置的应用,但NETWORK_PROVIDER会返回从WIFI和GPRS检索到的最佳值,而无需对其进行任何控制。我需要获取GPRS位置监听器返回的值,即使您有WIFI处于活动状态,因此我可以使用它来从其他应用程序中删除虚假位置。 有可能这样做吗?
目前我正在测试此解决方案Disable / Check for Mock Location (prevent gps spoofing),我们会告诉您它是否解决了我的问题
答案 0 :(得分:0)
不幸的是,这是不可能的,不。
您可以这样做:
final LocationManager locationManager = getLocationManager();
final List<String> providers = locationManager.getProviders(true);
if (providers.size() > 1) {
providers.remove(LocationManager.NETWORK_PROVIDER);
}
但您无法区分单元格或WiFi网络提供商!
此提供商根据手机信号塔的可用性确定位置 和WiFi接入点。通过网络检索结果 查找。
常数值:&#34;网络&#34;
来源:http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER
您可以尝试使用this solution。但是,由于这似乎没有记录,我要小心依赖它,因为它可能会在未来的操作系统版本中中断,或者可能无法在每个设备上运行。