在Android中使用FusedLocationAPI的位置

时间:2016-05-12 01:05:42

标签: android location

我正在尝试使用新的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是获取位置的最佳方式吗?

此设置也适用于所有类型的问题:

  1. 当用户第一次在手机上查看位置时 - 安装我的应用程序并且还没有随时获取该位置?

  2. 用户手机上没有互联网时? (这在Nexus 5上运行良好)

  3. 当用户启用飞行模式并启用WIFI时? (这在Nexus 5上运行良好)

  4. FusedLocationAPI有什么问题吗?有什么缺点吗?

1 个答案:

答案 0 :(得分:0)

  

当用户第一次在手机上查看位置时 -   安装我的应用程序并且没有随时获取该位置?

当用户打开Play商店或任何Google服务时,它将启动位置服务。你可以检查运行服务&gt;谷歌播放服务&gt;定位服务。所以它将在网络或GPS的基础上获得位置。所以你不必担心最后的位置。

  

用户手机上没有互联网时? (这在Nexus 5上运行良好)

     

当用户启用飞行模式并启用WIFI时? (这很好用   Nexus 5)

如果设备从未连接到互联网,那么它将提供空值,但如果它连接适当的带宽,则它具有位置数据。

  

FusedLocationAPI有什么问题吗?有什么缺点吗?

由于它是 Google API ,因此可以更改或删除它,因此它不在我们手中。加上它完全取决于设备游戏商店和版本,所以如果设备有旧版本的播放服务,那么你的包版本有时会看到奇怪的输出。

希望它能清除您在文档中已经提到过的疑问和其他内容,以便您也可以查看它。