当我在LocationRequest设置时间间隔时,位置变得完美 使用此代码
private static final long INTERVAL = 500 * 1;
private static final long FASTEST_INTERVAL = 500 * 1;
private static final int SMALLEST_DISPLACEMENT = 5;
protected void createLocationRequest() {
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setSmallestDisplacement(SMALLEST_DISPLACEMENT);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}
但是当我删除这些行然后onLocationChanged无效。是否需要在LocationRequest中设置时间间隔?
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
我想根据时间间隔根据位移得到位置。
答案 0 :(得分:0)
它也让我感到惊讶,如果我错误地解释,请有人纠正我。
来自LocationRequest源代码;
private long mInterval = 60 * 60 * 1000; // 60 minutes
private long mFastestInterval = (long)(mInterval / FASTEST_INTERVAL_FACTOR); // 10 minutes
如果您未设置setInterval
和setFastestInterval
,则会保留默认值。
因此,当您只设置mLocationRequest.setSmallestDisplacement(...);
然后,融合提供者会考虑像
这样的值间隔时间:60分钟,最快时间间隔:10分钟,最小位移:5米
结果,它看起来像“不工作”