I saw this video on TEDEd about how your smart phones knows your location. How your smart phone know your location? If it is determined using atomic clock, how does fake gps manage to fake the location?
You can't fake GPS. What you can do is tell your Android to tell apps that you're in a different location than you really are.
This is useful for development. If I need to test that my app can tell what speed I'm traveling, I can do one of two things:
- Run around outside.
- Tell the Operating System to simulate my location.
The advantage of #2 is that you can be sitting inside your office debugging your app.
The thing is you still have to simulate your travels. For this, Android has a "fake my location" API which lets you write an app which will feed your app (as well as all others) fake location.
This is the reason the the app tells you to enable "enable mock locations" (and is also why this feature is in "Developer options", as it's mainly written for them).
Your app doesn't get GPS signals. The OS does. The OS only passes the coordinates (along with some other data) to the app. Fake GPS tells the OS to fake the location it's sending to the app.