解决方案 »

  1.   

    没有说要用到surcefaceview,
    打开闪光灯关键代码:Camera  camera = Camera.open();  camera.startPreview();parameter = camera.getParameters();  parameter.setFlashMode(Parameters.FLASH_MODE_TORCH);camera.setParameters(parameter); 关闭闪关灯关键代码:parameter = camera.getParameters();  parameter.setFlashMode(Parameters.FLASH_MODE_OFF);camera.setParameters(parameter);
      

  2.   

    闪光灯开关只需要设置camera的parameter参数即可,不需要surfaceview。楼上说的很详细。
      

  3.   

    SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。
    至于闪关灯,硬件支持就可以。控制代码:
    打开闪光灯关键代码:Camera  camera = Camera.open();  camera.startPreview();parameter = camera.getParameters();  parameter.setFlashMode(Parameters.FLASH_MODE_TORCH);camera.setParameters(parameter); 关闭闪关灯关键代码:parameter = camera.getParameters();  parameter.setFlashMode(Parameters.FLASH_MODE_OFF);camera.setParameters(parameter);
      

  4.   

    SurfaceView的UI可以在一个独立的线程中进行行绘制  估计:
    在SurfaceView里使用闪光灯是考虑到如果程序突然退出  
    独立的线程可以控制闪光灯在意外的情况下及时关闭  
    防止闪光灯没有关闭的情况