LocationRequest构造函数标记为内部

Dun*_*Luk 35 java android location

我正在尝试使用我的Android应用程序设置位置更新com.google.android.gms:play-services-location:12.0.0,但是我收到以下错误:

LocationRequest构造函数标记为内部,不应从应用程序访问

我的位置更新请求如下所示:

locationClient.requestLocationUpdates(
    new LocationRequest()
        .setInterval(5000)
        .setFastestInterval(1000)
        .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY),
    locationCallback,
    null
);
Run Code Online (Sandbox Code Playgroud)

我已经按照文档示例进行操作,它们以相同的方式执行.如果我不应该打电话new LocationRequest(),那么正确的方法是什么?

ADM*_*ADM 69

使用静态方法LocationRequest create ().

 LocationRequest locationRequest = LocationRequest.create();
 locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
 locationRequest.setInterval(5000);
 locationRequest.setFastestInterval(1000);
Run Code Online (Sandbox Code Playgroud)

  • 就是这样,谢谢.这应该在文档中 (3认同)
  • 是的,您对文档是正确的。但是查找的是[LocationRequest](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest)类。并且没有列出公共构造函数。而且,如果您遍历源代码,您将看到的是构造函数是hide。关于Doc,我不能说太多,但对我来说似乎有点误导。 (2认同)

Rah*_*rma 13

LocationRequest初始化过程已更改为最新的Google Play服务依赖项(> 12.0.0).现在您可以使用其create()方法来初始化它.例如

LocationRequest request = LocationRequest.create();
Run Code Online (Sandbox Code Playgroud)