大疆社区

标题: 如何在关闭页面之后把之前所有相机拍照命令关闭取消 [打印本页]

作者: randylx.163    时间: 2015-10-19
标题: 如何在关闭页面之后把之前所有相机拍照命令关闭取消
我在某个航点进行飞机全景拍照(实际操作就是到达某个航点进行fo循环拍照)代码如下:     new Thread() {
    public void run() {
        for (int i = 0; i < 12; i++) {
            try {

                Thread.sleep(3000);
                takePhot;
                Thread.sleep(4000);
               
                    DJIGimbalRotation mYaw = new DJIGimbalRotation(true, true,
                            false, 600);
                    DJIDrone.getDjiGimbal().updateGimbalAttitude(null, null,
                            mYaw);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
      
    }
}.start(); 没拍完,如果直接退出当前页面,我想停止后面的拍照,我改调用哪个接口才能是使飞机不执行后面的操作。


作者: randylx.163    时间: 2015-10-19
我用的的小悟!

作者: DJI-Shirley    时间: 2015-10-19
是不是可以考虑用TimerTask,做个判断然后把它cancel掉?
作者: lanyusea    时间: 2015-10-19
加一个flag,跳转页面(或有其他更好的触发条件),切flag的值。
然后在for loop里面:
if(!flag) break;
作者: randylx.163    时间: 2015-10-19
lanyusea 发表于 2015-10-19 20:40
加一个flag,跳转页面(或有其他更好的触发条件),切flag的值。
然后在for loop里面:
if(!flag) break; ...
没有用!还是继续拍照,我使用了俩个方法都不行,一个设置boolean值和一个线程的interrupt!......
作者: lanyusea    时间: 2015-10-19
randylx.163 发表于 2015-10-19 20:54
没有用!还是继续拍照,我使用了俩个方法都不行,一个设置boolean值和一个线程的interrupt!...... ...
并不科学。把值和interrupt执行的那行打印出来看看?

作者: randylx.163    时间: 2015-10-19
DJI-Shirley 发表于 2015-10-19 20:09
是不是可以考虑用TimerTask,做个判断然后把它cancel掉?
你的意思是将代码中的TimeTask.Cancle();将拍照的代码挪到TimeTask里面去?
作者: randylx.163    时间: 2015-10-19
lanyusea 发表于 2015-10-19 20:57
并不科学。把值和interrupt执行的那行打印出来看看?
我也想不通呢!

作者: DJI-Shirley    时间: 2015-10-20
本帖最后由 DJI-Shirley 于 2015-10-20 10:44 编辑
randylx.163 发表于 2015-10-19 21:06
你的意思是将代码中的TimeTask.Cancle();将拍照的代码挪到TimeTask里面去?
是的 可以试试,做一个触发或停止TimerTask的判断





欢迎光临 大疆社区 (https://bbs.dji.com/) Powered by Discuz! X3.2