关于安卓位置服务的一个疑问

根据 Android 官方文档,在安卓系统中关闭位置服务后,所有应用程序,包括 Google 服务都无法获得位置更新。但是实情似乎不是这样。

昨天收到一位朋友从手机 QQ 中发送过来的位置消息,查看的时候不小心点到了显示自己的位置信息,然后豁然看到 QQ 里面的地图迅速定位我的位置。这让我心里一惊:平常我的手机里位置服务都是关闭的,用地图的时候还会接到提示要求打开定位服务呢。因此就仔细查了查。

安卓官方文档中关于位置信息是这么写的:

重要提示:
如果您关闭自己设备的位置信息,也就同时关闭了 Google 应用和非 Google 应用的位置信息。这意味着应用不能获得您设备的位置信息,且很多实用功能都将会被停用。

果壳问答上也有人解释说,

安卓手机设置里,有一个位置服务选项,点击打开会发现里面有:1、允许访问我的位置,2、GPS 卫星定位,3、WLAN 及移动网络定位。
如果你把1、允许访问我的位置,这个关闭了,你的应用软件将没有权限去获取位置信息。系统不会无缘无故地去定位,必定是有软件提出定位需求,系统才去采集位置信息,接着把采集到的信息送给软件。安卓系统是手机旅店的大管家,软件都是小房客。
应用软件是没有可能通过自行读取基站和 wifi 的信息,自行计算定位,而不依赖安卓。除非安卓系统被破解了,软件获得了极高的权限。

既然有人说可能是因为手机 root 了,软件获得了超越系统的权限。root 后的安卓系统中有 root 权限管理,每次软件需要 root 权限都会先申请,同意了才能用。我特地用一台没有 root 过的 Nexus 5 手机试过,同样在系统的设置里关闭了位置服务,还是可以在 QQ 里查看到自己的精确位置,而且是实时更新的。

可见这个问题与系统是否破解过没有关系。也可能是bug,我已经在 Android 开源论坛提交了 bug 报告,希望会有回应。

忘了说一下,我的设备是 Nexus 5,系统是原生的 Android 4.4.2。如果有朋友用的是安卓系统,不妨测试一下并在下方评论分享你的测试结果。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/a-suspicion-on-location-service-in-android/>。转载请保留此信息及相应链接。

7 条关于 “关于安卓位置服务的一个疑问” 的评论

  1. 嗯,这个问题非常严重
    关闭安卓位置服务,安全软件禁用通过移动网络,wifi网络获取定位
    结果还是可以确认位置…虽然这时的误差相当大…但很不爽啊…

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南