【发布时间】:2021-08-30 14:25:49
【问题描述】:
我是 Android 开发的新手,但我想知道是否有可能通过手机信号塔信息获得大致位置,而无需激活手机上的 GPS。手机不应该没有 GPS 就可以访问手机信号塔吗?
我尝试过使用 TelephonyManager 和方法 allCellInfo(),但它需要精细的位置权限,这反过来意味着我必须激活 GPS。但是,我认为在这种情况下,粗略的位置权限应该足够了,因为我只想访问手机信号塔信息而不是 GPS。 allCellInfo() 返回的列表始终为空,除非我激活 GPS,这是有意义的,因为该方法需要精细位置权限。我只是不明白为什么会出现这种情况,据我所知,粗略的位置权限对于蜂窝塔信息(和 wifi)应该足够了。
还有其他方法/类/包/库可以帮助解决这个问题吗?是否有可能在不打开 GPS 的情况下访问手机信号塔信息?也许只使用粗略的位置权限?
【问题讨论】:
-
The standard way to get location doesn't require GPS to be turned on.??? @Tenfour04。获取位置的标准方法是使用 GPS。 -
如果wifi或蜂窝网络打开,可以在没有GPS的情况下获得课程位置。
-
可以,但获取位置的标准方法是使用 GPS。
-
我已经很多年没有这样做了,但是当我在原生 Android 代码中这样做时,您没有指定使用了哪些传感器。您刚刚获得了位置更新。如果 GPS 碰巧打开,它们会更准确。现在看起来标准方法是使用 Google Play 服务,它也没有指定 GPS,而是指定所需的精度:developers.google.com/android/reference/com/google/android/gms/…“标准方法”是通过任何可用来源获取位置,GPS 或不是。
-
那它是如何工作的呢?我可能遗漏了一些信息,但是您将如何访问手机信息?除了 TelephonyManager.allCellInfo() 之外的东西?因为有了这个,它似乎只适用于 GPS
标签: android kotlin gps location