0

我正在尝试使用或获取当前位置GPS。我正在给出选择最佳提供商的标准。但它总是显示是最好的提供者。当我在外面并且信号强时没问题,但当我在室内或信号差时就不行了。标准是Cellular NetworkWiFiGPSGPSGPS

  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);

解决办法是什么?请提供任何帮助。

4

1 回答 1

0

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

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

这些也可能有所帮助:

选址策略

Android Protips:面向专家 Android 应用开发者的高级主题

于 2012-07-21T14:27:00.603 回答