我正在使用融合位置 API:

        locationrequest = LocationRequest.create();
        locationrequest.setInterval(interval);
        locationrequest.setFastestInterval(interval);
        locationrequest.setSmallestDisplacement(0);

        locationrequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

        LocationServices.FusedLocationApi.requestLocationUpdates(locationClient, locationrequest, this);

每当我得到一个位置时,我都会执行 loc.getProvider 并且我总是得到字符串“Fused”。

我期待网络与 GPS 或其他一些迹象。

有任何想法吗?

最佳答案

这是 FusedLocationApi 的预期行为 - 它结合服务以减少电力使用以及出于各种其他原因。

如果您需要使用特定的提供程序,则需要 http://developer.android.com/reference/android/location/package-summary.html

正如该页面所说,这不是获取位置的推荐方式。

如果您对处理返回位置的准确性感兴趣,最好在逐个更新的基础上执行此操作 - 使用 Location.getAccuracy()

关于android - Location.getProvider 总是返回 "fused"而不是 GPS 或网络,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28132300/

10-10 20:09