前言

众所周知,安卓的手电筒功能无非是开启手机的闪光灯,既然开启闪光灯就必须要与相机关联。

代码

写了个小工具,一个文件搞定。

public class FlashUtils {  private static FlashUtils utils;  private static Camera camera;  public static boolean mIsOpen = true;  //使用单例模式在这里初始化相机  public static FlashUtils getInstance() {    if (utils == null) {      utils = new FlashUtils();    }    try {      if (camera == null) {        camera = Camera.open();      }    } catch (Exception e) {      if (camera != null) {        camera.release();      }      camera = null;    }    return utils;  }  //参考二维码工具的闪光灯  public void switchFlash() {    try {      Parameters parameters = camera.getParameters();      if (mIsOpen) {        if (parameters.getFlashMode().equals("torch")) {          return;        } else {          parameters.setFlashMode("torch");        }      } else {        if (parameters.getFlashMode().equals("off")) {          return;        } else {          parameters.setFlashMode("off");        }      }      camera.setParameters(parameters);    } catch (Exception e) {      finishFlashUtils();    }    mIsOpen = !mIsOpen;  }  //页面销毁的时候调用此方法  public void finishFlashUtils() {    if (camera != null) {      camera.stopPreview();      camera.release();    }    camera = null;  }} 

6.0及其以上亲测可用,需手动打开权限。

5.0以下暂未测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Android(安卓)学习之界面跳转
  2. 相机的研究
  3. AndroidStudio中使用SVG
  4. Android(安卓)studio 百度地图开发(3)地图导航
  5. Android(安卓)调用系统照相机拍照和录像
  6. LeakCanary2.3 核心原理浅析
  7. [Android]照相机范例代码
  8. 安卓[android] 通过Uri获取File文件
  9. AppWidget数据持久化

随机推荐

  1. Android横屏竖屏切换的问题
  2. 小心XmlPullParser.netText()方法
  3. Android中shape的使用
  4. Android(安卓)查询字段
  5. Android中判断是否有声音在播放
  6. Android(安卓)startActivityForResult的
  7. Android(安卓)XML使用
  8. Android(安卓)国际化,文本国际化,图片国
  9. android 获得焦点(View get focus)
  10. 【Android(安卓)系统开发】 Android(安卓