【问题标题】:Use GPS and Network Provider at the same time in Android在 Android 中同时使用 GPS 和 Network Provider
【发布时间】:2011-06-03 11:46:10
【问题描述】:

我已经在我的应用中实现了一个位置监听器,它使用了网络提供者。

这一切都很好,因为我想要一个快速的位置并且使用 GPS 提供程序需要很长时间。

但我的应用程序中的位置必须准确(最大 5-10 米)。

我想知道是否可以同时使用 GPS 提供商和网络提供商,然后获得两者的最佳结果? 是否也可以让我知道 GPS 提供商何时向我提供了 GPS 位置?

所以基本上:

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

这是否适用于相同的覆盖 onLocationChanged() ?

我如何查看 GPS 是否已获取位置信息?

谢谢,

【问题讨论】:

    标签: android geolocation gps location


    【解决方案1】:

    您当然可以为多个提供者使用同一个侦听器。将locationmanager.getProvidersCriteria 对象一起使用可能会更好,然后按准确性排序或只听所有这些。不过实际差别不大。

    onLocationChanged 回调为您提供一个 Location 对象,该对象有一个 getProvider() 方法,您可以使用它来确定它来自哪里。它还有一个getAccuracy() 方法,因此您还可以按准确度对最近的修复进行排序。

    【讨论】:

      【解决方案2】:

      理想情况下,如果您不关心电池的使用情况,那么使用这两个供应商是完全可以的。正如Daren 解释的,您可以使用getProvider() 和getAccuracy() 过滤坐标。

      http://blog.shinetech.com/2011/10/14/a-good-look-at-android-location-data/

      【讨论】:

      • 将此添加为对daren回答的评论会更清楚
      • 这真的应该是达人回答中添加的评论。
      猜你喜欢
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多