18

Because I do not want to consent to the Google Location Services privacy agreement I have this switched off. By doing so I know some location functionality like cell-based and wifi-based location will not be functional.

However I would expect simple GPS functionality to work in a normal way. Functioning in a normal way to me would be to use GPS data if available, else use the last known location. (Historically this is how GPS receivers work)
The current (I am running Android 5, Lollipop) implementation from Google however seems to not give any location at all when there is no clear fix, throwing me lots of warnings and placing me all over the world instead of in my home location.

My question:
Does anyone know a third party location provider / spoofer which simply caches my last known location if there is no GPS fix? (just giving me back normal functionality)
Additional functionality which would be very welcome is caching Wifi/Cell data so if I have been somewhere it will remember without a GPS fix.

Any suggestions would greatly be appreciated!

  • Would an alternative provider for network based location (replacing Google's location, which requires root) also be an acceptable solution? – Izzy Dec 11 '14 at 16:17
  • @Izzy - would the alternative have last known location stored? So as to have other apps use that info to start running, instead of waiting for a satellite fix. – HasH_BrowN Dec 11 '14 at 17:30
  • The solution I have in mind uses cell-tower locations, which are stored locally on the device (you define which area(s) you need). As long as your phone is not in airplane mode, and you're in an area covered by your data, it hence always knows where it is without requiring a data connection. – Izzy Dec 11 '14 at 18:16
  • @Izzy I thought this was one of the ways GPS aids worked but it does not reconfirms a fix. It does cache my position (and increasing speed of fix), so the solution with GPS aids answers my question. However I am also interested in a solution which you indicate, this could be an alternative answer with some advantages above the caching solution. – Requist Dec 14 '14 at 13:05
  • 1
    Done – see my answer below. It's just an outline, but should give you the idea – and points to further resources for details. Enjoy! – Izzy Dec 14 '14 at 13:43
9
+50

You could try this app: GPS Aids.

It tries to provide a quicker and more stable fix by providing a couple of GPS aids (GPS Aiding Data like LTO Long Term Orbits, gpsOneXTRA and AGPS), and it caches your last known GPS data.

It will run without root, but some options require root access.

  • It seems to be doing what I wanted, gonna testdrive it a bit more but looks good so far. – Requist Dec 10 '14 at 12:10
  • 2
    The program works ok for me, could you maybe increase the description within your answer a bit for future reference? We now know it works on Lollipop, maybe explain in short how en why the program is the answer. – Requist Dec 12 '14 at 9:01
  • Unfortunately the app is no longer available. – anol Jan 24 at 15:14
11

Not exactly matching your description (using the "last known" position if not GPS available), but still a good alternative:

On two of my devices, I completely got rid of all proprietary Google services, replacing them by alternatives. In detail, I've described this in Android without Google 5: Free your Droid!¹ (update¹). In short, this is what I've done:

  1. Flash a custom ROM that comes without GApps (here: CyanogenMod)
  2. Installing microG (successor of NOGAPPS)
  3. Generating the lacells.db as described at XDA, and pushed it to the device

As a result, I've got a totally offline working location service using cell tower IDs and the lacells.db, Playstore access via BlankStore¹ or YalpStore, and a working Maps API using OpenStreetMap. So with "no GPS active", I still get my location as long as there are cell towers in reach. I can, however, not say whether it's using the "last known position" if there's no GPS and no cell towers.

¹ Disclosure: link go to one of my sites

  • Sweet! I do like this option a lot, thought not the most user friendly solution. In practise I think there will not be many places where you're not able to "see" any cell-towers, even if connecting to it will not be possible due to a low SNR. Does this solution switch to GPS if a fix is available or are the GPS drivers part of GApps? – Requist Dec 14 '14 at 15:14
  • GPS is separate from this. I've never tried any "fail-over", so I'm not sure how it behaves with GPS enabled but no fix. My guess is it would simply chose the "most accurate set", and thus (without GPS fix) use the cell tower location – but I'm not sure. – Izzy Dec 14 '14 at 17:55
  • @Requist as for "user friendly": it got easier again. There now is LineageOS for microG, available for all devices having official LOS support. That comes with microG and F-Droid pre-installed, ready-to-go. For location, they've pre-installed the Mozilla backend (fetching data online, so you might consider this being tracked by Mozilla) – but you can easily replace that backend by the LocalGSMBackend I've described in my answer. Works like a breeze, just equipped my new BQ device with that :) – Izzy Oct 4 '18 at 5:47
4

Using Fairphone 2 and Fairphone Open OS and following this guide to living without Google, I set up location services using location middleware provider µg UnifiedNlp (no GAPPS)

It is easy to do this using the F-Droid repository

  • Install µg UnifiedNlp (no GAPPS)
  • Install geolocation backends such as LocalGsmNlpBackend
  • Install geocoding backend NominatimeNlp
  • Reboot your phone
  • Start the µg UnifiedNlp app and set up the backends. In LocalGsmNlpBackend select 'create database' and let it generate a database from OpenCellID or Mozilla Location Services (this takes ages and downloads huge amounts of data so make sure you are on WiFi)
  • Enable Location options in Settings

Result: both GPS and network-based location services work with little or no privacy impact.

1

Accessing location in Google Location service and accessing location in Android are independent from each other.

Apps can use either Android Location Manager (which does not depend on Google Location service) or Google Location service.

Thus, you can still use apps who access location through Android Location Manager. According to my research of the top 5000 apps, most apps still use Android Location Manager. So, you should be good without Google Location Services.

  • Yes, location support in Android has much improved. I still do not use Google location service but now Android location Manager does cache your last status and location so there is no need for third party tools for normal use anymore (except maybe for Wifi/Celluar location data). – Requist Jan 24 '18 at 11:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.