Android Fake GPS App 차단

in fakegps •  7 years ago 

Android Fake GPS App 차단하는 방법에 대해 알아보도록 하겠습니다.

Google Play Store 에 “fake gps”라고 검색을 하면 무수히 많은 fake gps 앱이 나옵니다.

FakeGPS-1024x261.png

Fake GPS App 은 안드로이드의 ACCESS_MOCK_LOCATION 권한을 얻어 구현을 하게 됩니다.

오늘은 Android에서 Fake GPS App 차단하는 게 목적이니 Fake GPS에 대해선 다음에 자세히 다루 도록하겠습니다.

Android에서 위치 정보는 LocationManager 활용하여 가져오게 됩니다.

참고 : https://developer.android.com/reference/android/location/LocationManager.html

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

LocationListener locationListener = new LocationListener() {

@Override public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override public void onProviderEnabled(String provider) {

}
@Override public void onProviderDisabled(String provider) {

}
@Override public void onLocationChanged(Location location) {
Log.d("Location", location.toString());
}
};
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

위의 소스 코드를 보시면 “onLocationChanged”에서 Location 객체에 위치 정보를 담게 되고 개발자는 이걸 활용하여 위치정보를 가져오게 됩니다.

Location 객체에는 다양한 메서드가 있는데.

isFromMockProvider()를 사용하면 이 가져온 위치정보가 모의 위치인지 아닌지를 알 수가 있습니다.

Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && location != null && location.isFromMockProvider();

Ex)

public static boolean isMockLocation(Location location) {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && location != null && location.isFromMockProvider();
}

Ex처럼 하여 가져온 위치정보가 모의 위치인지 아닌지 알 수 있습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

@datagurukr, welcome and congratulations on making your first post! I gave you a $.02 vote! If you would be so kind to give me a follow in return that would be awesome!

Congratulations @datagurukr! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!