我有这个代码,如果我使用lights(),它会很好用;一旦 但是如果我多次使用它,比如lights(); lights(); lights(); ......那么多。当应用程序运行时,它们似乎同时运行
public void lights() {
try {if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();}
} catch (Exception e) {e.printStackTrace();}
}
}
mHandler.postDelayed(new Runnable() {public void run() {stop();}
}, 1000);
}
public void stop(){
try {if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
{cam.stopPreview();cam.release();cam = null;}} catch (Exception e) {e.printStackTrace();}
}
如何让处理程序一个接一个地等待?等待第一个完成。我想发出警报但是如果我使用ThreadSleep();我的应用程序崩溃太多,可能认为UI没有响应