谁能说,当我使用 gsm 位置时,我只能通过我的移动运营商的信号塔获得它,或者我可以通过不同运营商的信号塔获得它?
如果我的用户驾驶他的汽车,但没有他的任何移动运营商塔,设备如何获取其位置?仅 GSM。
最佳答案
不,您目前无法在不使用 GPS 或互联网的情况下获取位置。
基于 WiFi、蜂窝或蓝牙的定位技术在不断更新的大型数据库的帮助下发挥作用。设备扫描发射器 ID,然后通过互联网将这些以查询的形式发送到 Google、Apple 或 Skyhook 等服务。该服务根据先前从已知位置进行的无线调查,以位置作为响应。如果无法访问互联网,您必须拥有此类数据库的本地副本并保持最新。对于全局使用,这是非常不切实际的。
从理论上讲,移动提供商可以只提供本地数据服务而不能访问互联网,然后回答来自移动设备的位置查询。移动提供商不这样做;没有人愿意为这种受限的数据访问付费。如果您通过移动提供商获得数据服务,那么您就可以访问互联网。
简而言之,使用 LocationManager.NETWORK_PROVIDER 或 android.hardware.location.network 获取位置需要使用互联网。
使用最后已知位置要求您最近使用过 GPS 或互联网访问权限。如果您刚刚上网,大概您可以调整您的位置或设置以再次上网。如果您的设备没有 GPS 或互联网接入,最后已知位置功能将无济于事。
没有 GPS 或互联网,您可以:
拍摄夜空照片并使用当前时间根据星图估计您的位置。这可能需要额外的设备来确保正确测量图片的角度。 使用加速度计从已知位置开始跟踪位置。这种方法中错误的累积使其在大多数情况下不切实际。
关于java - 不同移动运营商的 Android GSM 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41868596/