【问题标题】:Is it OK to retrieve cellular location when location setting is OFF?位置设置关闭时是否可以检索蜂窝位置?
【发布时间】:2017-06-08 16:12:10
【问题描述】:

在 Android 上,我们可以使用 this API 检索 CellLocation

此 API 需要授予位置(粗略或精细)权限。

我们观察到,即使全局位置设置为关闭,API 也会返回有效的 CellLocation。理想情况下,当位置设置关闭时,它不应该提供小区位置。

当前的 API 行为是有意的吗?它是Android中的错误吗?即使位置设置关闭,也可以访问 CellularLocation 吗?

【问题讨论】:

  • global location settings 是什么意思?您是指通知栏快速设置面板上的 GPS 开关吗?
  • 是的,我的意思是位置设置。我们可以通过通知或位置设置打开/关闭它。如果此设置关闭,那么我们将无法检索地理位置(纬度、经度)........您认为蜂窝信息也应该如此吗?
  • 不,我认为切换应该只控制 GPS 组件,您仍然可以在 API 允许的情况下获取位置
  • 我们可以从位置设置(设置应用程序 -> 位置)中启用/禁用位置。如果 Android 允许即使此设置为 OFF 也允许获取单元位置,那么为什么它要求获取位置权限?
  • 在下面查看我的答案

标签: android locationmanager telephonymanager cellular-network


【解决方案1】:

这里有两个独立的系统:

  1. 应用权限
  2. 用户切换

如果应用获得了Location 权限,则可以随时随地使用 API 获取位置(显然,您应该考虑电池和数据的使用情况,但这取决于您)。

如果用户打开或关闭了某个设置切换,则 由 API 关闭应用的某些功能,应用不负责随时检查系统设置使用 API。

在您的情况下,用户可以切换位置设置,以防止使用 GPS 组件来防止准确的位置跟踪并节省电池电量。 这不适用于蜂窝塔位置,因为它绝对不准确,而且手机上已经存在数据,因此也不需要电池供电。 当此设置关闭时,Android 将来可能会关闭信号塔位置,但在此之前,您允许使用 API 为您提供的任何内容。

【讨论】:

  • 此位置设置切换不仅与 GPS 有关。位置设置有 3 种模式。其中,“省电模式”与 GPS 无关。如果此位置设置关闭,那么我们也无法检索粗略位置(来自移动和 wifi 网络)......所以,我怀疑我们是否应该将此位置设置视为仅与 GPS 相关.. 因此,如果它让我担心当此位置设置为 OFF 时,检索单元信息是正确的。
猜你喜欢
  • 2012-10-13
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多