-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