如何阻止一个线程

时间:2014-04-03 07:05:35

标签: android flashlight

我正在使用Thread闪烁闪光灯。

当我点击闪烁按钮时第一次效果很好。

任何人都可以告诉我如何停止闪烁。

这是我的代码:

blink.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                // TODO Auto-generated method stub
                if (isChecked) {

                    long blinkDelay = 500; // Delay in ms
                    for (int i = 0; i < 50; i++) {
                        if (i % 2 == 0) {

                            mCamera.startPreview();
                        } else {

                            mCamera.stopPreview();
                        }
                        try {
                            Thread.sleep(blinkDelay);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                } else {
                    mainlayout.invalidate();
                }
                          }
        });

1 个答案:

答案 0 :(得分:0)

如果您的手电筒由按钮控制,只需每次迭代检查按钮的布尔状态(打开或关闭)。然后,一旦线程内的所有工作都完成,您就可以让线程自然退出。