我现在遇到的问题是,当我点击我的应用程序中的按钮时,该应用程序保持按下状态,我无法点击任何其他按钮,例如一个按钮来停止该线程。
现在应用程序只是闪烁相机灯(频闪灯),并在等待下一次闪光时使用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){}
答案 0 :(得分:1)
无论如何我可以在另一个线程中运行这个简单的操作或启用其他按钮吗?
是的,请勿在{{1}}上致电Thread.sleep()
,否则UI Thread
将会入睡,您将无法在整个时间内执行任何UI Thread
项内容。像
UI
的代码
您也可能需要read the docs here