Android 网络位置提供商问题

标签 android networking location

android 网络位置提供程序是否可以在没有互联网或 wifi 的情况下工作? 我在这种行为中遇到了不一致,因为有时即使没有互联网/wifi 也会调用我的 onlocationchanged() 方法。

如果 internet/wifi 关闭并显示以下消息“太多没有位置 ap-s.Not compute a location”,对于 wifilocator 和 celllocator-Primary cell miss in cache,我有时无法修复位置。

请告诉我如何解决这个问题?

我正在使用 API 7。在 Android 2.3.6 Samsung Galaxy Y 上测试此应用。

最佳答案

将您的 onLocationChanged() 方法放在其中:

    public boolean haveNetworkConnection()
     {
       ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
       NetworkInfo netInfo = cm.getActiveNetworkInfo();
       if (netInfo == null)
          return false;
      else
          {
          if(netInfo.isConnected())
              return true;
          else
              return false;
          }
    }

希望!这会有所帮助。 试试这个。

当我再次查看您的问题时。我发现了这个:

是的,您需要连接到 Internet 才能获得正确的网络位置修复。至少大部分时间。 手机收集以下数据(不需要连接到互联网即可执行此操作):

  • 通过扫描 wifi 接入点获取附近的 wifi 信息。

  • 可从手机的蜂窝 radio 中获取附近的移动蜂窝信息。

然后手机将此数据发送到服务器。服务器使用此数据查看其数据库以确定手机最可能的位置。服务器将位置信息发送回手机。这一切都是通过互联网(移动互联网或 wifi)使用数据连接完成的。 一些实现额外下载少量服务器的数据库到手机(描述手机当前位置周围的一小块区域),这样手机就不必一直查询互联网。但是,一旦手机移出这个小区域,它就需要访问互联网才能再次获得正确的位置。

因此,基本上,如果没有 Internet 连接,您将无法(可靠地)使用网络位置。

关于Android 网络位置提供商问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564366/

相关文章:

java - android数据绑定(bind)错误: cannot find symbol

android - 删除 Facebook 示例中的十字图像按钮

cocoa - 从 Cocoa 应用程序在远程计算机内移动文件的最快方法?

networking - 客户端与服务器术语

javascript - chrome/angular2 的 window.location.hash 解决方法

performance - 您如何从全局多个地点测试网站的性能?

Android MVP,在哪里检查互联网连接

android - 无法更改自定义 RatingBar 的大小

java - 使用任何主机的 IP 地址构造 InetSocketAddress 的正确方法是什么?

autocomplete - 谷歌地方 API : Is the option to switch off location biasing been removed from auto complete API?