Android 系统中,开启闪光灯,经常会遇到不同的手机出现不兼容的问题,下面的开启闪光灯方案相对来说兼容性比较高:
protected static void openLight() {
try {
camera = Camera.open();
int textureId = 0;
camera.setPreviewTexture(new SurfaceTexture(textureId));
camera.startPreview();
parameters = camera.getParameters();
parameters.setFlashMode(parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
} catch (Exception e) {
Log.i("打开闪光灯失败:",e.toString()+"");
}
}
protected static void closeLight() {
if (camera != null) {
parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.stopPreview();
camera.release();
camera = null;
}
}
别忘记添加权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />