2

自从我使用 Google Play 服务以来已经有一段时间了,我现在正在实现一个需要位置跟踪的功能。在遵循了一个过时的示例之后GoogleApiClient,我在 Android 开发人员博客上找到了关于新位置 API 的这篇文章:

https://android-developers.googleblog.com/2017/06/reduce-friction-with-new-location-apis.html

FusedLocationProviderClient client =
    LocationServices.getFusedLocationProviderClient(this);

client.requestLocationUpdates(LocationRequest.create(), pendingIntent)
    .addOnCompleteListener(new OnCompleteListener() {
      @Override
      public void onComplete(@NonNull Task task) {
        Log.d("MainActivity", "Result: " + task.getResult());
      }
    });
}

引起我注意的是帖子底部写的一句话:

新的 API 会自动为您解决某些连接故障,因此您无需编写代码来提示用户更新 Google Play 服务等。

由于我已经使用GoogleApiAvailabilty我编写了那段代码,我很好奇将其删除并让其FusedLocationProviderClient处理是否安全?

我试图找到另一个来源来验证这一点,但失败了,对博客文章底部的半行并不满意,因此在此处发布问题。

4

1 回答 1

1

好的,所以我会在快速测试后回答我自己的问题。我暂时删除了确保 Google Play 服务可用且版本正确的检查。然后在没有 Google Play 服务的模拟器上安装了该应用程序,当我尝试使用时,LocationServices API我收到一条提示通知,上面写着:

除非您更新 Google Play 服务,否则 [应用名称] 不会运行。

所以我想删除支票是安全的。

值得注意的是,除非用户实际与通知交互,否则似乎不会调用侦听器(成功/失败/完成),例如,如果他们只是在您的应用程序 UI 中按下其他内容,则不会调用侦听器。

于 2018-02-21T16:16:17.610 回答