这篇文章主要介绍了Android控制闪光灯的方法,可实现闪光灯打开与关闭的效果,涉及Android操作Camera闪光灯的相关技巧,需要的朋友可以参考下
最近项目中有涉及闪光灯的需求,所以就收集了下资料,中间也遇到了一些坑,项目上线后做一下总结~
首先闪光灯可以用android.hardware.camera来控制
- 在Manifest.xml文件中添加权限
<uses-permission android:name="android.permission.CAMERA" />
- 打开闪光灯操作
Camera mCamera = Camera.open();
Camera.Parameters mParameters = mCamera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(mParameters);
注:这样的操作在大部分机型上是可以,但是在三星4.3系统、华为p8上却打不开闪光灯,后来发现需要指定下打开摄像头,即使Camera.open()默认打开的是后置摄像头。
指定打开后置摄像头的操作
int textureId = 0;
mCamera.setPreviewTexture(new SurfaceTexture(textureId));
mCamera.startPreview();
- 关闭闪光灯操作
Camera.Parameters mParameters = mCamera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(mParameters);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
注:在关闭闪光灯后一定要释放照相机对象,不然在其他地方再调用摄像头就会出现无法相应操作的错误。
这些只是开启关闭的几句核心代码,直接放在项目中使用时完全不够的,在使用的时候需要根据需求加容错处理。有问题的可以在评论区回复~