[Q] Question about Skyhook vs. Google location services - Android Software Development

I'm writing a story about the current mini-controversy surrounding the Skyhook lawsuit, particularly about the information that has come out that Google has made it part of the Android Compatibility criteria that manufacturers cannot use Skyhook and must use Google location services. (Full story)
My question is: does this make a difference for developers? Would the location API calls change whether a device uses Skyhook vs Google location services? Would it make things more difficult for devs if some manufacturers used Skyhook and others Google Location Services?
Thanks!

Related

Make google maps possible to use offline - store maps on sdcard ?

Hey,
Ususally im in places where i have no 3g coverage(for example while bicycling :] ), so i can't use google maps on my htc magic there. Im looking for something that will let me change google maps cache size, which I believe is very hard. Currently cache has only 1mb, and allows to store just small fragment of map.
There are some other solutions like, RMap and AndNav2 that can work offline, but google maps is used in several other useful apps.
Im learning android development just now so im thinking of writing some proxy app that will record downloaded maps tiles into sdcadrd, and later it would be possible to use them again without internet access.
I think all i need to do is to make google maps use 127.0.0.1 instead of google server and write proxy app that will be running on android device.
Do you think its possible?
Or there is another way to do that that I'm not aware of?
Im recommending Mapdroyd (lovely OSM maps) and its free
http://www.mapdroyd.com/
I don't know why google maps can't just cache to the SD card (let us have a setting to turn it on or off!) It would be really handy for low/no signal areas. I don't think as of now it's possible at all, but maybe google will enable it in the future.
codito said:
I don't know why google maps can't just cache to the SD card (let us have a setting to turn it on or off!) It would be really handy for low/no signal areas. I don't think as of now it's possible at all, but maybe google will enable it in the future.
Click to expand...
Click to collapse
Google just badly wants to know all your whereabouts to better geotarget ads ;(

Google Maps 5.0 API?

I thought for sure this would have been asked; yet after searching for an hour, I've found nothing.
With the new Google Maps 5.0 out, allowing compass-rotation (showing the map based on your current heading) I wondered if there is a new API available to take advantage of these features?
I updated maps in the SDK but don't see anything new. How would one go about exposing these new v5-specific features in their own app?
Thank you in advance,
RKM
And why do you think you can use features from another apps in your own app?
And why do you think you can use features from another apps in your own app?
Click to expand...
Click to collapse
I'm sorry if my post came across as if I expect to use features from other apps in my own app. That was not my intention. My intention was simply to ask a very simple question, that is..
Google, owning the Android OS, offers the API for "Maps". This API currently supplies the ability to render maps. Prior to v5, the rendering looked identical to what Google exposed to developers.
Google has updated their turnkey Maps app. As a result, the rendering (and the very foundation, now that it consumes vector data rather than tiles alone) has changed.
My *question* was simply whether this is passed along to the developer in some way, or whether the developer is limited to using the older tile-only infrastructure that also lacks auto-orientation.
If the answer is that the developer is limited, I'm fine with the answer. I certainly didn't mean to suggest that I should be allowed to cannibalize features from other's app, but merely was referring to what appeared to be a fundamental change in their Maps app, that I wondered whether it might pass along in their API, being that LBS/Maps is pivotal in the Android as a mobile development platform.
Ahh, sorry, now I know what did you mean
Google Maps doesn't use Maps API - these things are totally unrelated with each other. So answer is: no, you can't use vector maps in Maps API. Maybe someday Google will update Maps API as well.
Ah, okay. Although it's not the answer I was hoping for, at least I can put an end to my quest!
Thank you!

[Q] Better control over location/GPS services?

On my Palm Pre it was possible to enable network-based or network-assisted location without using Google services and without agreeing to let Google collect information about you and your device in the background. On the Shift, this doesn't appear to be the case: apparently, you can have pure GPS satellite location only *or* you can enable network assistance, but to do the latter you have to use Google's services and agree to Google's terms.
So I was wondering whether this is something that developers of custom ROMS and mods are able to do anything about. Would it be possible to tinker with the framework, or whatever part of the firmware controls such things, to allow for more finely-grained control over location services for the end user? Ideally, you would be able to choose:
1) GPS satellites only
2) GPS/aGPS (assisted location or rough triangulation)
3) The above, plus Google's network/Wi-Fi based location services (and agree to whatever terms Google requires for the use of same)
Interestingly, the Galaxy Tab already seems to have the sort of control that I'm talking about.
If I'm misunderstanding something about the way our EVO Shift devices handle location services, please let me know...e.g., could it be the case that selecting only "use GPS satellites" already enables aGPS? If so, you couldn't prove it by me. None of my applications, including Google Maps, seem to be able to use rough network location when I have only "GPS satellites" enabled, although the device itself clearly knows what tower it's registered with at any given time.
Anyway, I just thought I would bring this up to see whether there is any developer interest in tweaking this stuff, and also whether there are other users who are also interested.
BTW, I am aware that this is a "Google phone." No need to point it out. I just want to be able to use the same kind of network-assisted location services that I was able to use on my other, non-Google phones on Sprint.
AnalogXDA said:
On my Palm Pre it was possible to enable network-based or network-assisted location without using Google services and without agreeing to let Google collect information about you and your device in the background. On the Shift, this doesn't appear to be the case: apparently, you can have pure GPS satellite location only *or* you can enable network assistance, but to do the latter you have to use Google's services and agree to Google's terms.
So I was wondering whether this is something that developers of custom ROMS and mods are able to do anything about. Would it be possible to tinker with the framework, or whatever part of the firmware controls such things, to allow for more finely-grained control over location services for the end user? Ideally, you would be able to choose:
1) GPS satellites only
2) GPS/aGPS (assisted location or rough triangulation)
3) The above, plus Google's network/Wi-Fi based location services (and agree to whatever terms Google requires for the use of same)
Interestingly, the Galaxy Tab already seems to have the sort of control that I'm talking about.
If I'm misunderstanding something about the way our EVO Shift devices handle location services, please let me know...e.g., could it be the case that selecting only "use GPS satellites" already enables aGPS? If so, you couldn't prove it by me. None of my applications, including Google Maps, seem to be able to use rough network location when I have only "GPS satellites" enabled, although the device itself clearly knows what tower it's registered with at any given time.
Anyway, I just thought I would bring this up to see whether there is any developer interest in tweaking this stuff, and also whether there are other users who are also interested.
BTW, I am aware that this is a "Google phone." No need to point it out. I just want to be able to use the same kind of network-assisted location services that I was able to use on my other, non-Google phones on Sprint.
Click to expand...
Click to collapse
Not much of a help, most likely.
All i know gps wise is theres a couple of ## codes for the dialer in Sense roms. I think one is ##gpsresetx#
There are gps apps too, which GREATLY help lock and accuracy. Check the market.
Hope somebody knows more than me
Sent from my HTC Speedy (Gonzalez)
Well, although I started the topic in the hopes of starting discussion about how to use network location without being locked down by Google...now that you mention it, it would also be cool if Speedy ROM developers could find a way to fix the cycle of "acquire fix, lose fix, acquire fix, lose fix" that is all too common with these devices...
Sent from my PG06100 using XDA App

Google tracking your location

So... what with the hoohah about Idevices tracking location data and storing it locally, what do you think about on Android, location data is uploaded to Google?
If I were to create a ROM, I'd modify the source of Android to politely remove this feature / obsfucate where possible...
Considering Android is open source, if Google were doing that, someone would have found it by now. And technically you CAN do this with Android if you enable Google Latitude and allow it to report your phone's location.
Android is basically doing the same thing.
http://www.guardian.co.uk/technology/2011/apr/21/android-phones-record-user-locations
oldblue910 said:
Considering Android is open source, if Google were doing that, someone would have found it by now. And technically you CAN do this with Android if you enable Google Latitude and allow it to report your phone's location.
Click to expand...
Click to collapse
There are. Read the TOS.
Can i ask why anybody cares? I mean seriously if you have a cellphone you've always had the potential to be tracked. If google uses it who cares? Personally i like it. It would let someone locate me if i was missing and it would let me locate my phone if i lost it. Google records everything. They scan your email for key words to bring up ads on other sites and on google itself. It's not a big deal it's just one of the things you have to deal with when you have to be in the tech loop.
Google plainly give you the option to opt out when you sign in to your Google account on the phone. You can also disable location in settings at any time. Big difference between that and what iOS is doing.
Security risk!
The android location service cache can be read quite easily with root access or without.
As long as this info isn't transmitted, but only used internally for better connection time and location accuracy, the risk is low (if the phone is stolen there is much more sensitive information).
If it is transmitted, it has to be anonymized, and I have to be able to switch the transmission off without loss of on any other non-dependent functionality (i.e. I don't want to be blackmailed).
Why should we put up with everything? Why should we be like stupid sheep? Only if we care about privacy, there is a chance that we can keep some freedom.
matt2053 said:
Google plainly give you the option to opt out when you sign in to your Google account on the phone. You can also disable location in settings at any time. Big difference between that and what iOS is doing.
Click to expand...
Click to collapse
even if you opt out when first signing on, you'll get a warning saying that to use location features you have to agree to uploading location data - in the background.
matt2053 said:
Google plainly give you the option to opt out when you sign in to your Google account on the phone. You can also disable location in settings at any time. Big difference between that and what iOS is doing.
Click to expand...
Click to collapse
Agreed. CrApple doesn't even say that they collect data.
Agreed!!!!!!

altering gps

Im a java programmer new to android. Im currently doing some research into geo location based services and privacy and want to develop an app that can counter the privacy concerns.
I want to develop a security app for a college project that can alter my gps co-ordinates on my device, thus fooling all other apps on my phone into thinking I’m somewhere else, may be another country or just a mile away.
I am aware that there are apps out there in the play store to do this, but I'm not sure how I could implement it myself.
I believe there are classes and methods that can be used. such as Location and setMockLocation. I could use some advice or a point in the right direction.
I believe these methods and classes are normally used for testing purposes but I wonder If I could use them to say fool a service into thinking I’m in my city, but not in my neighbourhood.
Any help, advice would be greatly appreciated
I know this is a late response but better late than never.
I'm sure your intent is benign, but this is precisely the sort of thing frowned upon by the community. Think about it. If an app is allowed to spoof a location, all sorts of fraud could take place. Also, i would assume that any classes provided by Java/crapdroid would be "read only" when it comes to GPS.
That being said, what you can try doing is manually switching off the GPS radio, and then hard-coding a location in your app. For example something like:
int main(void) {
SomeClass.setLocation("Seattle");
}
Normally this is bad practice, and inflexible.
The other thing you can do is sort out your location (city, state, country) based on IP address and adding logic in your app to use that info without ever touching the GPS.
I would also urge you to use GPS location sparingly for 4 primary reasons
1.) You are never guaranteed the user has a device with a GPS radio. Even if s/he has one, there is no guarantee that such radio is turned on in the first place
2.) We don't live in a perfect world. GPS location may not be accurate. For example it may say "Seattle" if you're in the Seattle metro area but that could mean anywhere from Tacoma to Bellingham (a pretty large area)
3.) GPS uses power. This may be a mute point somewhat, but its still valid.
4.) Location services are not always provided by a GPS radio. usually android settings allow for a "hybrid" location approach based in part on your GPS radio, and in part on cellular radio triangulation, and / or relying on your wifi and/or cellular data. This links to point 2 above as well.
Hope this helps in some way
Since my original post, I have pursued my objective, and successfully spoofed the location of my device, Android provides a number of possible ways to do this. I font think the intent is frowned upon at all. My app provides privacy. It cant really be used to commit fraud. Any good forensics investigator would still be able to determine if a location had been spoofed.
There are at least 50 similar apps available on google play store. You should try one

Resources