java - 不同移动运营商的 Android GSM 位置

标签 java android location

谁能说,当我使用 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/

相关文章:

java - sonarqube eclipse 插件用法

java - 在应用程序本身中实现 Firebase 安全规则有什么问题?

android - layout_gravity ="center_vertical"和 layout_centerVertical ="true"有什么区别

android - 使用 fragment 设计应用程序

url - 如何关闭 angularjs 中的历史记录处理?

java - 如何为 eclipse-tomcat 设置持久存储以进行备份和流式传输(不使用数据库)?

java - 如何构造java.security.interfaces.RSAPublicKey?

Android下划线整个textView

android - 如何在android中获取指针/光标位置

android - 没有在 Android 模拟器上授予权限