本文实例为大家分享了android通过led实现手电筒功能的具体代码,供大家参考,具体内容如下
第一步 添加权限:
第二步 实现手电筒工具类:
import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.AsyncTask; public class FlashlightUtil extends AsyncTask{ private Camera camera; private int cameraId = 0; // 此功能目前不实用,这里不做实现 , 但不能删除 private Parameters parameters; public boolean isTorch = false; private boolean canFinish = false; private static FlashlightUtil flashlightUtil; private FlashlightUtil() { } public static void setSwitch() { if (null == flashlightUtil) { flashlightUtil = new FlashlightUtil(); flashlightUtil.execute(""); } flashlightUtil.setonOFF(); } @Override protected String doInBackground(String... params) { // TODO Auto-generated method stub while (!canFinish) { if (null == camera) { camera = Camera.open(cameraId); } parameters = camera.getParameters(); if (isTorch) { if (parameters.getFlashMode().equals(Parameters.FLASH_MODE_OFF)) { // 打开镁光灯 parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); camera.setParameters(parameters); camera.startPreview(); } } else { if (parameters.getFlashMode().equals( Parameters.FLASH_MODE_TORCH)) { // 关闭镁光灯 camera.stopPreview(); // 关掉亮灯 camera.release(); // 关掉照相机 camera = null; } } } return null; } public FlashlightUtil setCameraId(int cameraId) { this.cameraId = cameraId; return flashlightUtil; } private void setonOFF() { isTorch = !isTorch; } }
第三步 添加手电筒按钮的触发事件(这里是在布局文件中通过onclick实现的)
public void openFlashlight(View view) {
FlashlightUtil.setSwitch() ;
}
手电筒功能比较简单,这里实现了一步开启关闭。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



