如何在线程处于休眠状态时单击其他按钮

时间:2014-01-27 03:19:28

标签: android multithreading button flashlight

我现在遇到的问题是,当我点击我的应用程序中的按钮时,该应用程序保持按下状态,我无法点击任何其他按钮,例如一个按钮来停止该线程。

现在应用程序只是闪烁相机灯(频闪灯),并在等待下一次闪光时使用Thread.sleep(int)。

无论如何我可以在另一个线程中运行这个简单的操作或启用其他按钮吗?

谢谢!

编辑:(这是它在使用新的runnable线程的try catch中的样子,try catch引发错误)

        try{
            cam = Camera.open();
            Parameters p = cam.getParameters();
            p.setFlashMode(Parameters.FLASH_MODE_TORCH);
            cam.setParameters(p);
            cam.startPreview();

            new Thread(new Runnable() {
                public void run() {
                        Thread.sleep(on);
                }
            }).start();

            camIsOn = true;
        } catch(InterruptedException ie){}

1 个答案:

答案 0 :(得分:1)

  

无论如何我可以在另一个线程中运行这个简单的操作或启用其他按钮吗?

是的,请勿在{{1​​}}上致电Thread.sleep(),否则UI Thread将会入睡,您将无法在整个时间内执行任何UI Thread项内容。像

这样的东西
UI

借用Mr. Murphy here

的代码

您也可能需要read the docs here