0
當用戶的設備低於18 API時,是否有防止欺騙位置的方法?
防止欺騙位置
我一直在使用下面的代碼嘗試,但它不工作,當用戶有:
1.在設置(如果沒有暫停啓用Android的設置和活動的假GPS
2.禁用模擬位置模擬位置/停止假的GPS應用) - >在這種情況下我的應用程序仍然是假的位置。
我的代碼:
if (isGPSEnabled) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null){
if(android.os.Build.VERSION.SDK_INT >= 18)
isMock = location.isFromMockProvider();
else
isMock = !Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION).equals("0");
if(!isMock){
latitude = location.getLatitude();
longitude = location.getLongitude();
prefs.setMockProvider(false);
}else{
prefs.setMockProvider(true);
}
}
}
}