Spoof location on device - android

How do apps like Fake Location spoof their location in a way that fools other apps like Google Maps, FourSquare and Facebook into thinking that this location is valid?
I have searched lots of similar questions and a lot of answers are around making your own mock location provider which I tried but Google Maps is still at the correct location not the fake.
To be clear I dont want my fake location provider inside of my main app, I want to be able to spoof the location to fool other apps that are not directly linked to believe this location is the valid one

Related

Get status of location providers with Google Play Services

I'm using the Google Play Services to get user's location and I can't find a way to get the status of the different location providers (network, gps).
I was looking for some equivalent of android.location.LocationListener's methods.
The point is, I have an activity with a map, it's supposed to display user's location, and if it's not available (because he didn't turn on his gps or whatever), the app prompts a Dialog to ask him to turn on.
Any idea ? :)

How to access locations?

I'm planning on creating android location aware app, which will access location of people with their permission. It's up to the users whether they want to share their location with others or not. So we can know where our friends are, may be we can guess what they are doing, according to their current location.
Security is major concern here, my primary aim is to create family-location network.
Guidance needed for:
From where can I start
Which API I need to use
Can a Google account be used for Login for my app

ways of getting my location on android

This may be a kinda odd question but I am new at Android development and I'm having trouble to learn how to retrieve the user's location to my application. I have looked for this topic but I just can't find a statisfying answer.
To get the user location I have found two ways:
http://developer.android.com/training/location/retrieve-current.html . This one is using what I think is the new Google Services release which uses a LocationClient to connect to Google Services and retrieve the location.
http://developer.android.com/guide/topics/location/strategies.html . The other one is using the android.location class and a LocationManager to retrieve the location.
The thing is that I don't get the difference between using one way or the other, which one is better??
And another question is that in the second way you can specify which location provider you want to use, if the GPS provider or the Network provider and in the first one you can't, but in the first paragraph it says that it uses the location sensors that are currently active for the device. Does this mean that I don't have to worry about choosing between both services??
I am using Android Studio and I have set up the new Google Services release, I just need to know the pros and cons between both ways to know which one to use and to begin learning.
Thanks!!
As stated in the second link:
The Google Location Services API, part of Google Play Services, provides a more powerful, high-level framework that automatically handles location providers, user movement, and location accuracy. It also handles location update scheduling based on power consumption parameters you provide. In most cases, you'll get better battery performance, as well as more appropriate accuracy, by using the Location Services API.
I would highly recommend you to watch the last I/O video to get a simple explanation from Reto Meier about the new Location Provider: http://youtu.be/GcNNx2zdXN4?t=14m29s (I suggest you to watch the entire clip btw, it's inspiring).

How does google maps get location on android device?

I am an android developer and have been using it for a while to develop context-aware apps. Location is one of the most important thing for context aware and accuracy of that location is very important.
I know how to get location from GPS using LocationManager... I know how to develop apps using Google maps on android... and also how to display user on the map.. etc. But my friends have found out that when they went to a foreign country for a conference, their location from LocationManager is very inaccurate compare to google maps.
They used my app (not released yet.. ) which I get my location from LocationManager and I registered for GPS and Network provider. If I plot the location that the phone gives me on a map... it's very inaccurate... some times it thinks the user is in Barcelona even though they are at a conference in USA.
Also since the conference was indoor, the GPS wouldn't have helped a lot because it would've had hard time finding a fix.
Does google maps on android get their location similar to how google tells the android developers to get the location... from LocationManager and register for onLocationChanged location listener? If it does... how come theirs is more accurate... how do they filter any outliers? or are they using any internal services to get even more accurate location which maybe google assume that if the developer get that accurate location they could misuse it?
Any ideas or comments??
This code is written by Reto Meier, Tech Lead for Android Developer Relations, who wrote the book on Android App development. Also, that was published in Google IO conference in 2011 as I remember. This is the closest to what is used in Google Places. And it works smart anyway ;)
https://code.google.com/p/android-protips-location/

Android - getLocation()

I have developed an application for my company to track the work done by our agency people and also their location to capture the work places. As we don't want the agency people to browse other website, with the help of network providers we have restricted other websites and allowed only two URL where we run the webservice to store the information captured to the database. But since Android talks to google to get the location we also need map the maps.googleapis.com but when we tried it's not working. Can anyone tell me which URL we should map/whitelist to allow my application to access the google. Thanks
i would think u would get coordinates regardless of internet connectivity. of course i could be wrong. are you sure you added permissions for location services in the manifest. i know i have tested gps apps without internet enabled (emulator though). of course the map wont load but coords should be able to be read from the gps receiver.
If you're talking about getting your current location, then you should use LocationManager(search on SO or google, there are lots of posts about it). Otherweise you can take a look at the Developer Guide for Google Maps, but I'm not sure if Android even uses the same API, though.
Or you can only retrieve the coordinates from the devices to your database/server and you'll have the map and with the coordinates you'll know where are they. That would not need a map in the application, and no need for whitelisting the urls. This is another idea, though.

Categories

Resources