-1
我在我的android应用程序中有一个开关按钮。 我做了一个工作随机闪烁的线程。当开关按钮打开时,我启动了Start方法,并在按钮关闭时中断了方法。它第一次工作,但第二次当我触摸开关按钮时,应用程序自动结束。我按下按钮,然后随机闪烁的工作,然后停止按钮,闪烁停止,但当我用按钮再次启动时,应用程序自行停止。Android工作室java线程无法正常工作
xx=new Runnable()
{
@Override
public void run()
{
synchronized (this)
{
while (true)
{
try {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.stopPreview();
c1.sleep(100);
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
//c1.interrupt();
}
catch (Exception e)
{
Thread.currentThread().interrupt();
break; //this is a MUST
}
}
}
}
//}
};
c1 =new Thread(xx);
s1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (s1.isChecked())
{
c1.start();
}
else
{
c1.interrupt();
}
}
});
Assalam ualikum Shaaban兄弟...我解雇了我的代码同步并使用catch(InterruptedException e){ //最佳实践 Thread.currentThread()。interrupt(); return; } ..........但它并没有解决问题... – anik
使用标志并保持一切,因为它是 volatile boolean shutdown = false; .... while(!shutdown){ ... –
它不起作用brather – anik