【发布时间】:2019-04-30 15:36:18
【问题描述】:
我在我的 App 中使用 mapbox。在为我的locationEngine 构建请求时,我经过了 20000 毫秒,但在某个时刻,我需要更改该间隔并每隔 5000 毫秒通知一次位置更改。
有没有办法改变这个间隔,或者为我的locationEngine 建立另一个请求?
这是我尝试过的:
这是我初始化定位引擎的地方
@SuppressLint("MissingPermission")
private void initializeLocationEngine(int interval) {
locationEngine =LocationEngineProvider.getBestLocationEngine(parentActivity);
LocationEngineRequest request = buildEngineRequest(interval);
locationEngine.requestLocationUpdates(request, callback, null);
mapboxNavigation.setLocationEngine(locationEngine);
}
当我想改变间隔时,我会调用这个方法:
private void changeLocationEngineInterval(int interval) {
removeLocationEngineListener();
LocationEngineRequest request = buildEngineRequest(interval);
if (ActivityCompat.checkSelfPermission(parentActivity, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(parentActivity, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
locationEngine.requestLocationUpdates(request, callback, null);
mapboxNavigation.setLocationEngine(locationEngine);
}
【问题讨论】: