import android.hardware.Camera;
import android.hardware.Camera.Parameters;
private Camera camera = null;
打开手电筒
camera = Camera.open();
Parameters mParameters = camera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); // 选择手电筒模式
camera.setParameters(mParameters);
camera.autoFocus(new Camera.AutoFocusCallback()
{ // 自动对焦,增加成功率
public void onAutoFocus(boolean success, Camera camera)
{
}
});
camera.startPreview();
关闭手电筒
if(camera != null)
{
Parameters mParameters = camera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(mParameters);
camera.stopPreview();
camera.release();
camera = null;
}
开启闪光灯权限:
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
闪光灯闪烁:
Camera camera = Camera.open();
Parameters p = camera.getParameters();
//手电筒闪光开启
private void processOnFlash(){
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
}
//手电筒闪光关闭
private void processOffFlash(){
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
}
//及时释放
public void surfaceDestroyed(SurfaceHolder holder) {
camera.setPreviewCallback(null);
camera.stopPreview();
camera.release();
camera = null;
}