2014-07-16 2 views
2

GPS_PROVIDER 및 NETWORK_PROVIDER에서 위치를받는 앱을 개발했지만 NETWORK_PROVIDER는 WIFI 및 GPRS에서 검색 한 최상의 값을 제어하지 않고 반환합니다. WIFI가 활성화되어 있어도 GPRS 위치 수신기에서 반환 된 값을 가져와야하므로 다른 앱에서 가짜 위치를 무시할 수 있습니다. 가능합니까? 나는이 솔루션 Disable/Check for Mock Location (prevent gps spoofing)을 테스트하고있어 순간 그냥 GPRS 네트워크 공급자 안드로이드에서 위치 가져 오기

, 난 당신이 내 문제가 해결되는지

+0

오류가 발생합니다. ?? –

+0

오류가 없습니다. WIFI와 GPRS의 위치가 모두 필요하므로 개별적으로 처리 할 수 ​​있습니다. 이 작업을 수행 할 수 있는지 알아야합니다. – TibiG

+0

스푸핑 검색이 작동하지만 "removeTestProvider (LocationManager.GPS_PROVIDER);" 그것의 일부는 작동하지 않습니다. 최소한 2.3.6 비 - 맞춤 ROM이있는 Samsung GT-S5300에서는 작동하지 않습니다. – TibiG

답변

0

불행하게도 그것이 아니, 수 없습니다 알려 드리겠습니다.

final LocationManager locationManager = getLocationManager(); 
final List<String> providers = locationManager.getProviders(true); 
if (providers.size() > 1) { 
    providers.remove(LocationManager.NETWORK_PROVIDER); 
} 

을하지만 당신은 셀 또는 와이파이 네트워크 제공 업체를 구별 할 수있는 옵션이 없습니다 :

당신은 같은 것을 할 수 있습니다!

이 공급자는 셀 타워 및 WiFi 액세스 지점의 가용성에 따라 위치를 결정합니다. 결과는 네트워크 조회를 통해 검색됩니다.

상수 값 : "네트워크"

출처 : http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER

당신이 시도 할 수있는 것은 this solution를 사용하는 것입니다. 그러나 이것이 문서화되지 않은 것 같기 때문에 미래 OS 버전에서 깨지거나 모든 장치에서 작동하지 않을 수 있으므로 신중해야합니다.

관련 문제