解决Android无法使用移动网络wifi定位的问题

wpid-Screenshot_2013-06-16-22-24-09.png

最近在使用Android 4.1的时候,突然发现移动网络定位功能丢失,手机只能在室外使用GPS定位。这样给我造成了很大的麻烦,每次在查交通线路的时候总会浪费非常多的时间。由于熟悉自己的城市,所以偷懒一直没有研究。

不过明天由于要外出旅游,定位功能必须完善,所以下决心折腾了一番。追查很久之后,终于找到原因:

因为我们都是放荡不羁的网民,所以总会使用这样或者那样的方法修改hosts(懂者自懂),比如我使用的某软件。但由于修改彻底,hosts中所有的Google服务全被修改到了美国本土的服务器上,这样带来一个问题。美国本土的服务器中,并没有记录(似乎也没这个可能性)中国联通等运营商的移动网络数据,这样导致Google定位服务无法得知当前的基站位置从而定位杯具。

既然原因已明,那就把hosts改为初始的状态。由于我很懒,所以就选用了再刷一遍Gapps的方法,碰到这个问题的同学不妨也试一试。

等旅游完了回来,我会整理一下hosts文件以及GPS.conf配置文件供大家下载参考。

29 Replies to “解决Android无法使用移动网络wifi定位的问题”

  1. 移动网络Wi-Fi定位。。。
    其实我能说移动网络定位和Wi-Fi定位不一样吗。。
    还有似乎天朝封死了移动网络定位的说,我之前试过依靠基站数据得到的位置偏移很大。
    还有,反馈个Bug,双击文章标题标题会变成“嘿咻嘿咻加载中。。。”

    1. 两个定位不一样,但是在Android里是同一个模块,在云端是同一个服务器接管的。
      我们这里蜂窝基站很成熟,商场里头移动网络定位非常精准的,那些定位数据是运营商提供的,Google的服务器里也有。我现在没有搞懂的是为什么Android宁可相信Google服务器里的数据而不采用运营商给出的定位数据。
      嘿咻嘿咻是我故意弄的YD。

      1. @Dick_Wu
        好吧原来那是彩蛋的说。。。
        iOS 似乎就只有Wi-Fi 定位。
        而且我以前用过的路由器送给别人用。。。
        然后就是他向我抱怨说iPad 定位总是在我家。。。。。。

  2. @lyic
    因为有一个非营利性组织专门匿名收集路由器的Mac地址和方位信息。比如你把iPad放在窗台使用GPS准确定位后,机器会把经纬度数据和mac地址上传更新服务器上的参数。过几天wifi定位就会回到你同学家了。
    在Android里这个功能是可以手动关闭的。
    所有的智能手机都有这三种定位,而ios与Android是将这三种结合地最好的。首先基站确定大概位置,从Google服务器下载该地区的GPS星图,这样立即可以找到卫星精确定位。而在室内会比对Wifi的Mac地址确定路由器所在经纬度。

    1. @Dick_Wu
      我觉得Apple是利用iPhone和iPad 4G版本的定位功能。当用GPS定到准确位置后,再通过WiFi收集路由器的MAC地址,并上传到Apple的服务器里面。
      似乎Apple用的是自家的数据库?Google好像也是。
      你说的应该是这个事情,是在德国被发现的:http://www.guao.hk/posts/on-google-street-view-car-logging-wifi-networks.html
      Ps.那个路由器现在在某高层住宅里工作。。。似乎里面收不到GPS。。。。手机信号也很差。。。

发表评论

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.