我尝试使用Mobile SDK为无人机设置时间线任务。但任务开始后的停止功能不起作用。我使用4.3.2版本。为什么任务不停止? (每当新任务需要开始清除和停止时间线时,我都会使用此功能)
public void stopAndClear()
{
if (missionControl.scheduledCount() > 0)
{
if(missionControl.getRunningElement()!=null)
{
missionControl.getRunningElement().pause();
missionControl.getRunningElement().stop();
}
missionControl.stopTimeline();
missionControl.unscheduleEverything();
missionControl.removeAllListeners();
}
}
答案 0 :(得分:0)
这里应该澄清时间表的概念和概念内的任务。
时间表由许多任务组成。当一个任务正在执行时,您调用API停止时间轴,它将在此任务完成后停止,而不是停止当前任务。这就是为什么你不能停止当前任务的原因,特别是当前的任务是航点任务或热点任务。 (我们知道getRunningElement()。暂停应该暂停当前的任务,但实际上 暂停: HotpointAction / GotoAction支持它。
停止: AircraftYawAction GimbalAttitutdeAction GoToAction HotpointAction LandOrGoHomeActionBase RecordVideoAction ShootPhotoAction TakeOffAction TimelineMission
支持它。 )
此外,我建议您使用我们最新的SDK版本4.5。它解决了时间线中状态机管理的一些问题。