实例关键代码如下:
Camera mCamera;
Parameters mParameters;
// 检测当前设备是否配置闪光灯
boolean checkFlashlight(View view) {
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
Toast.makeText(this, "当前设备没有闪光灯", Toast.LENGTH_LONG).show();
return false;
}
return true;
}
// 打开闪光灯
void openFlashlight() {
try {
mCamera = Camera.open();
int textureId = 0;
mCamera.setPreviewTexture(new SurfaceTexture(textureId));
mCamera.startPreview();
mParameters = mCamera.getParameters();
mParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(mParameters);
} catch (Exception e) {
// TODO: handle exception
}
}
// 关闭闪光灯
void closeFlashlight() {
if (mCamera != null) {
mParameters = mCamera.getParameters();
mParameters.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(mParameters);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}