【问题标题】:Android:showing same result when choosing location providerAndroid:选择位置提供程序时显示相同的结果
【发布时间】:2012-07-20 12:38:17
【问题描述】:

我正在尝试使用 GPSCellular NetworkWiFi 获取当前位置。我正在给出选择最佳提供商的标准。但它总是显示GPS 是最好的提供者。当我在室外并且GPS 信号强时没关系,但当我在室内或GPS 信号差时则不然。 标准是

  Criteria criteria  = new Criteria();
  criteria.setAccuracy(Criteria.ACCURACY_FINE);
  criteria.setAltitudeRequired(false);
  criteria.setBearingRequired(false);
  criteria.setCostAllowed(true);
  criteria.setPowerRequirement(Criteria.POWER_LOW);
  WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  wifi.setWifiEnabled(true);
  String provider = lm.getBestProvider(criteria, true);

解决办法是什么?请帮忙。

【问题讨论】:

    标签: android gps location wifi cellular-network


    【解决方案1】:

    将准确度标准设置为Criteria.ACCURACY_FINE 将始终为您提供GPS_PROVIDER(如果您的设备中可用)。另一方面,设置Criteria.ACCURACY_COARSE 会为您提供NETWORK_PROVIDER(如果可用)。最好同时启动并先使用NETWORK_PROVIDER,因为可能需要几分钟才能从GPS 获得修复。

    请参阅android-protips-location,了解减少延迟和电池消耗的最佳位置实践。

    这些也可能有帮助:

    Location Strategies

    Android Protips: Advanced Topics for Expert Android App Developers

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 2016-05-13
      • 2013-09-01
      • 1970-01-01
      相关资源
      最近更新 更多