LocationManager提供商类型?

时间:2017-12-10 12:59:57

标签: android gps locationmanager

我正在尝试LocationManager。它在文档中仅列出了3个提供者GPS|NETWORK|PASSIVE_PROVIDER

我使用criteria来获得最佳位置更新。

        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        locationManager.requestLocationUpdates(0, 0, criteria, locationListener, null);

这样可行,但在onLocationChanged(Location location)函数中,如果我检查location.getProvider()使用的提供程序返回fused

我遇到的问题是,当我尝试获取最后一个已知位置并使用getBestProvider

        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, true));

getBestProvider返回gps作为提供者和准确度42.475998,如果我手动输入"fused",则准确度为23.814

1-为什么getBestProvider会返回gps而不是fused

2-那么为什么NETWORK_PROVIDER提供商没有像"fused"这样的定义?它在Android文档中没有定义?

不能直接使用?或者是因为谷歌不希望我们使用不需要谷歌播放服务的东西? :)

谢谢!

0 个答案:

没有答案