Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LocationRequest构造函数标记为内部_Java_Android_Location - Fatal编程技术网

Java LocationRequest构造函数标记为内部

Java LocationRequest构造函数标记为内部,java,android,location,Java,Android,Location,我正在尝试使用com.google.Android.gms:play services location:12.0.0在我的Android应用程序中设置位置更新,但出现以下错误: LocationRequest构造函数标记为内部,不应从应用程序访问 我的位置更新请求如下所示: locationClient.requestLocationUpdates( new LocationRequest() .setInterval(5000) .setFastest

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

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

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

locationClient.requestLocationUpdates(
    new LocationRequest()
        .setInterval(5000)
        .setFastestInterval(1000)
        .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY),
    locationCallback,
    null
);

我遵循了和,它们以相同的方式进行操作。如果我不应该调用
newlocationrequest()
,那么正确的方法是什么?

使用静态方法
LocationRequest create()


LocationRequest初始化过程已更改为最新的Google Play服务依赖项(>12.0.0)。现在您可以使用它的方法来初始化它。e、 g

LocationRequest request = LocationRequest.create();
在科特林:

 private val locationRequestSettings = LocationRequest.create().apply {
        fastestInterval = 1000
        interval = 1000
        priority = LocationRequest.PRIORITY_HIGH_ACCURACY
        smallestDisplacement = 1.0f
}
然后使用类似于:

fusedLocationProviderClient.requestLocationUpdates(
        locationRequestSettings,
        YourLocationCallback,
        null
)

我想在文件中提到了,但不清楚。如果您看到,那么您将看到构造函数是隐藏的。而且在文档中没有提到构造函数,所以
create()
是最终的解决方案。@ADM在哪里提到它?文档说:“创建位置请求并设置参数,如代码示例所示:protectedvoid createLocationRequest(){LocationRequest mlLocationRequest=new LocationRequest();mlLocationRequest.setInterval(10000);mlLocationRequest.setFastTestInterval(5000);mlLocationRequest.setPriority(位置请求。优先级高精度);}如果你这样做,你会得到一个恼人的警告。大多数时候文档都是垃圾。是的,你对文档的看法是正确的。但是查找中的是类。并且没有列出公共构造函数。而且如果你浏览源代码,你会看到构造函数被隐藏。我不能说太多关于文档的内容,但对我来说,它似乎有点神秘我正在阅读。
fusedLocationProviderClient.requestLocationUpdates(
        locationRequestSettings,
        YourLocationCallback,
        null
)