作为一个开发人员 手机没手电筒功能,有时候用360的很是egg pain,于是自己写一个。
功能很简单 开灯 关灯。自作笔记 喷子绕道
直接贴代码
public class MainActivity extends AppCompatActivity { private Camera camera; private Camera.Parameters parameters; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取Camera服务,这个必须要不然会一直报错。具体自己看报错信息 getSystemService(Context.CAMERA_SERVICE); } public void light(View view) { //通过判断当前闪光灯模式,规避多次点击button的操作。 if (null != parameters && parameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH)) { return; } //打开相机,相当于初始化操作 camera = Camera.open(); //获取相机参数, parameters = camera.getParameters(); //设置闪光灯模式 parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); camera.setParameters(parameters); //这句也很重要,不调这句闪光灯打不开 camera.startPreview(); } public void lightOff(View view) { if (null != parameters && parameters.getFlashMode().equals(Camera.Parameters.ANTIBANDING_OFF)) { return; } camera.setParameters(parameters); camera.release(); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } }