android - requestLocationUpdates 中的更新间隔

标签 android gps location intervals

如何更新时间和距离间隔,或者以不同的间隔再次调用 requestLocationUpdates?

我的代码:

LocationManager locationManager = (LocationManager) activityObject.getSystemService(Context.LOCATION_SERVICE);

    cll = new CheckinLocationListener();

    LocationProvider gps = locationManager.getProvider(LocationManager.GPS_PROVIDER);

    // GPS

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, timeDelay, distanceDelay, cll);

    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

onLocationChanged:

if(location.getSpeed()>=0 && location.getSpeed()<= 3)
            {
                LocationsModel.this.distanceDelay = 25;
                LocationsModel.this.timeDelay = 10000;
            }
            else if(location.getSpeed()>=3 && location.getSpeed()<= 17)
            {
                LocationsModel.this.distanceDelay = 150;
                LocationsModel.this.timeDelay = 60000;
            }
            else if(location.getSpeed()>=17)
            {
                LocationsModel.this.distanceDelay = 300;
                LocationsModel.this.timeDelay = 240000;
            }

我想在下一个小节使用新的间隔。

最佳答案

您需要先调用 locationManager.removeUpdates( cll );,然后使用您的新间隔重新注册更新。

关于android - requestLocationUpdates 中的更新间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6340688/

相关文章:

algorithm - 计算给定方位和距离的坐标

ios - 在 GMAP iOS 中获取多个位置的路线。

javascript - Nativescript 位置运行时更新

ios - 重大位置变化 - 我们有什么保证?

android - 在 Android Studio 3.3 Canary 3 Kotlin 项目上找不到符号 DataBindingComponent

通过音频插孔的 Android 串口

android - 错误 : ToolBar theme and Dark theme

java - 用 Java 构建 GPS 跟踪应用程序

java - 我如何在Android中获取手机的经度,纬度?

Android:如果主线程在工作线程之前完成会发生什么