我尝试使用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
);
我已按照docs和example进行操作,它们也是这样做的。如果我不应该拨打new LocationRequest()
,那么正确的做法是什么?
答案 0 :(得分:62)
使用静态方法LocationRequest create ()
。
LocationRequest locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(5000);
locationRequest.setFastestInterval(1000);
答案 1 :(得分:12)
LocationRequest 初始化过程已更改为最新的Google Play服务依赖项(> 12.0.0)。现在您可以使用其create()方法来初始化它。 e.g。
import pandas as pd
n_segments = 3
cylinder.points["segment"] = pd.cut(
cylinder.points["phi"],
n_segments,
labels=range(n_segments))
答案 2 :(得分:0)
在科特林:
private val locationRequestSettings = LocationRequest.create().apply {
fastestInterval = 1000
interval = 1000
priority = LocationRequest.PRIORITY_HIGH_ACCURACY
smallestDisplacement = 1.0f
}
然后使用:
fusedLocationProviderClient.requestLocationUpdates(
locationRequestSettings,
YourLocationCallback,
null
)