这里我用一个ControlFlash类来控制闪光灯,其主要原理是利用相机来控制闪光灯的模式,简单明了,代码如下。
当然要在AndroidManifest.xml中加如下权限才能使用。
权限如下:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
代码如下:
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
public class ControlFlash {
public Camera camera=null;
public Camera.Parameters parameters=null;
public boolean IsHaveFlash()//判断设备是否有闪光灯
{
return !getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
}
public ControlFlash() {//初始化
// TODO 自动生成的构造函数存根
camera=Camera.open();
parameters=camera.getParameters();
}
public void open() {//打开闪光灯
if(IsHaveFlash)
{
//设备不支持闪光灯
return;
}
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);//设置闪光灯为手电筒模式
camera.setParameters(parameters);
camera.startPreview();
}
public void close()//关闭闪光灯
{
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
}
}