1

is it possible to get location via a cellular network if the device doesnt have a data plan?

or does it need a data plan to be able to get location via a cellular network?

is a data plan needed to get location via a cellular network?

  • See: What does “Download GPS assisted data only over Wi-Fi networks” really mean? as I think it covers what you are asking. – Morrison Chang Jul 24 '18 at 3:54
  • that's for 'wifi' and a different question, also im asking about 'cellular network'. i also have this question, but didnt ask it yet: can android devices get location with wifi if the device is not connected to any wifi networks? or does the device need to be connected to the wifi? – productiveuser Jul 24 '18 at 4:02
  • Re-read this answer: android.stackexchange.com/a/101344/3573 Location data has to come from someplace: GPS from satellite, AGPS from cell tower or WiFi based location from Google Services. In all cases, it has to be sent assuming data connection. So if in wilderness with no WiFI & no Cell, GPS will work eventually. You should update your question with which variations of enabled/disabled you are having difficulty understanding. – Morrison Chang Jul 24 '18 at 4:19
  • so what's the answer then? is it a yes you do need a data plan? or no you do not need a data plan? are you saying that a device needs/has to be connected to something that gives location? i dunno what you mean by 'assuming' data connection. i dunno if you mean 'with' or 'via' or 'has' data connection. this usage of 'assuming' is very unclear to me – productiveuser Jul 24 '18 at 5:24
  • You ask if you need a data plan, you don't state what kind of location (fine or coarse) you are trying to get or how long you are willing to wait. GPS requires no cell or wifi data but will take a while to get a fix as data connection for location data is coming from satellite(s). See answer linked in my second comment. – Morrison Chang Jul 24 '18 at 5:29
1

Yes, that is possible without a data connection by e.g. using UnifiedNLP and a corresponding location provider. I e.g. use the LocalGsmNlpBackend, which downloads a selection of the OpenCellId database (for the area I need) to the device for local usage. That database contains the positions of cell towers. As you are booked into at least one of those, your coarse location can be estimated. Add another location provider which is e.g. WiFi based for more accuracy if you wish. Apart from downloading the data (preferably while connected to your home WiFi), this works completely without a data connection.

Make sure you pick the correct UnifiedNLP package, depending on whether your device has the Google framework installed (stock ROM usually has this, or if you use a custom ROM but have GApps installed) or use a custom ROM without GApps.

For a more detailed description, please see my article Android without Google: microG, which discusses the variant on a device without Google framework.

  • As my answer points out: No data plan needed if you have e.g. the cellID database on-device. But of course the interfaces need to be "up" in order to "see" the cell towers / WiFi APs. A connection is not necessary for this. – Izzy Jul 24 '18 at 8:52
1

On Android, apps can be granted location via two types of permissions: android.permission.ACCESS_COARSE_LOCATION and/or android.permission.ACCESS_FINE_LOCATION

from https://developers.google.com/maps/documentation/android-sdk/location#location_permissions

android.permission.ACCESS_COARSE_LOCATION – Allows the API to use WiFi or mobile cell data (or both) to determine the device's location. The API returns the location with an accuracy approximately equivalent to a city block.

android.permission.ACCESS_FINE_LOCATION – Allows the API to determine as precise a location as possible from the available location providers, including the Global Positioning System (GPS) as well as WiFi and mobile cell data.

So if the app is giving you the weather, all the app needs ACCESS_COARSE_LOCATION which will give the user location good for a 10s of meters radius which is good enough to know where that person is for weather conditions. This level of accuracy can be done with WiFi or data via cellular towers.

If the app is a ride share app, then ACCESS_FINE_LOCATION is needed as will give the user location to a few meters. This will use GPS to get the location of the user.

So now we get to your question:

is it possible to get location via a cellular network if the device doesnt have a data plan?

If the mobile device has no data plan via cellular network AND no data via WiFI then apps don't get COARSE_LOCATION without a distinct Location Provider (see @Izzy answer).

Note that at least in the United States carriers are required to support E911 which in an emergency is supposed to be able to provide location of the phone to emergency authorities.

If you are disconnected from any network Cellular, disconnected from WiFi and not using a specialized Location Provider then GPS will be able to get your location coordinates. Calculating those coordinates requires data which is provided in the signal from the satellites, but due to the low bandwidth will take many minutes. Coordinates alone doesn't make an app as any mapping app would need to pre-cache your map data (streets, landmarks, rivers, etc.) from when you did have data to when you don't have a data connection. Having a data connection will speed up the calculation for FINE_LOCATION.

  • wow the level of knowledge is insane... i should've put this question first, 'is a data plan needed to get location via a cellular network?' but i guess the answer is no, and that there are highly technical ways of doing so. i just want to know for regular android (non-dev) use if a data plan is needed to get location via a cell network.... ? a simple answer in the comment would be appreciated.. also need to know the answer to 'does a device need/have to be connected to something (like cell network) for that something (like cell network) to give location?... – productiveuser Jul 24 '18 at 6:50
  • Your questions lack the specific 'what are you trying to do' as right now the answer is 'it depends' as cell networks can provide data for location but is not required for getting a location. – Morrison Chang Jul 24 '18 at 7:06
  • 'not required for getting a location.' - im not asking if that's the only way, or if that's needed. i never said anywhere, 'is cell network the only way to get location?' like that's never asked anywhere. im asking specifically this still: 'is a data plan needed to get location via a cellular network?' - it's just a simple yes or no question. as a typical casual user, do you need a data plan to get location via the cell network? do most users, who are casual, need a data plan to get location via the cell network? – productiveuser Jul 24 '18 at 7:24
  • here, what's im trying to do overall is find out what's the best gps device/option. it's a long process... a few of the questions asked are part of the last steps to finding out. since gps is a very specific topic, very few ppl know so i had to check/try stackexchange. one important part of why these questions matters & are relevant is that in urban areas (wifi & cell networks are more accurate than gps). gps is generally more accurate tho. also gps uses more energy/resources, and is slower. so all this is relevant info or deciding on the best gps device/option for google maps and navigation – productiveuser Jul 24 '18 at 7:31
  • The problem is that asking for 'give me a location' is separate from the 'via cell network'. Some casual users live from WiFi hotspot to WiFi hotspot and that is fine for them, others need a data plan to make sure their geotagged social media photos are fast and accurate. There is NO generic casual user and I say this as an app developer. Better to describe what you wish to do, also known as a user story or use case and you'll get a more informed answer. If you are doing Navigation you'll need FINE_LOCATION with the power usage and GPS cutouts in urban environments. – Morrison Chang Jul 24 '18 at 7:34
0

There are two basic ways of geolocating a device:

  1. Use a global navigation satellite system such as GPS, Glonass, Beidou, or Galileo. No data connection is required, but having one speeds up time to first fix.
  2. Look for local radio transmitter IDs, and look these up in a database. The radio technology can be cellular, WiFi, or Bluetooth; the principle is the same.

    If you do not carry the database on the device (the normal case), then you need a data connection of some sort. The data connection does not need to use the same set of transmitters used for the location lookup; you can look WiFi IDs using a cellular data connection, or you can lookup cellular IDs on a WiFi data connection.

    If you carry the database on the device, you do not need a data connection. Lookup the ID on your local database, as in Izzy's answer.

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.