我正在尝试使用新的Google Service API获取位置信息。我正在尝试以下方法:
PendingResult<Status> pendingResult = LocationServices.FusedLocationApi.requestLocationUpdates
(mGoogleApiClient, mLocationRequest, this);
以下的配置:
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
INTERVAL和FASTEST INTERVAL是:
private static final long INTERVAL = 1000 * 10;
private static final long FASTEST_INTERVAL = 1000 * 5;
结果正常。现在的问题是,FusedLocationAPI是获取位置的最佳方式吗?
此设置也适用于所有类型的问题:
当用户第一次在手机上查看位置时 - 安装我的应用程序并且还没有随时获取该位置?
用户手机上没有互联网时? (这在Nexus 5上运行良好)
当用户启用飞行模式并启用WIFI时? (这在Nexus 5上运行良好)
FusedLocationAPI有什么问题吗?有什么缺点吗?
答案 0 :(得分:0)
当用户第一次在手机上查看位置时 - 安装我的应用程序并且没有随时获取该位置?
当用户打开Play商店或任何Google服务时,它将启动位置服务。你可以检查运行服务&gt;谷歌播放服务&gt;定位服务。所以它将在网络或GPS的基础上获得位置。所以你不必担心最后的位置。
用户手机上没有互联网时? (这在Nexus 5上运行良好)
当用户启用飞行模式并启用WIFI时? (这很好用 Nexus 5)
如果设备从未连接到互联网,那么它将提供空值,但如果它连接适当的带宽,则它具有位置数据。
FusedLocationAPI有什么问题吗?有什么缺点吗?
由于它是 Google API ,因此可以更改或删除它,因此它不在我们手中。加上它完全取决于设备游戏商店和版本,所以如果设备有旧版本的播放服务,那么你的包版本有时会看到奇怪的输出。
希望它能清除您在文档中已经提到过的疑问和其他内容,以便您也可以查看它。