Android开启闪光灯的方法 Android打开手电筒功能

 更新时间:2017年07月26日 10:56:26   作者:HelloLollipop  
这篇文章主要为大家详细介绍了Android开启闪光灯的方法,Android打开手电筒功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言

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

代码

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

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以下暂未测试。

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

相关文章

  • 刷新Activity中的scrollview示例(局部ui刷新)

    刷新Activity中的scrollview示例(局部ui刷新)

    代码很简单,但是很实用,适合在一个Activity中要刷新局部的UI,比如在扫描一维码的时候,要把每次扫描的结果都显示在界面上
    2014-01-01
  • Android自定义动画根据控件Y轴旋转动画(仿红包)

    Android自定义动画根据控件Y轴旋转动画(仿红包)

    这篇文章主要介绍了Android自定义动画根据控件Y轴旋转动画(仿红包),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Android TextView仿微信可折叠效果

    Android TextView仿微信可折叠效果

    这篇文章主要为大家详细介绍了Android TextView仿微信可折叠效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android adb安装apk时提示Invalid APK file的问题

    Android adb安装apk时提示Invalid APK file的问题

    这篇文章主要介绍了Android adb安装apk时提示Invalid APK file的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Android图片异步加载框架Android-Universal-Image-Loader

    Android图片异步加载框架Android-Universal-Image-Loader

    这篇文章主要介绍了Android图片异步加载框架Android-Universal-Image-Loader,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 详解Android TextView属性ellipsize多行失效的解决思路

    详解Android TextView属性ellipsize多行失效的解决思路

    这篇文章主要介绍了Android TextView属性ellipsize多行失效的解决思路,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 浅谈android nexus私服的使用

    浅谈android nexus私服的使用

    这篇文章主要介绍了浅谈android nexus私服的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Jetpack Compose之选择器使用实例讲解

    Jetpack Compose之选择器使用实例讲解

    这篇文章主要介绍了Jetpack Compose之选择器使用,选择器主要是指Checkbox复选框,单选开关Switch,滑杆组件Slider等用于提供给用户选择一些值和程序交互的组件,比如像复选框Checkbox,可以让用户选择一个或者多个选项
    2023-04-04
  • Android使用RecyclerView实现水平滚动控件

    Android使用RecyclerView实现水平滚动控件

    这篇文章给大家介绍了利用Android使用RecyclerView实现水平滚动的效果,本文做了一个年龄滚动控件的例子,对大家开发Android具有一定参考借鉴价值,有需要的可以参考借鉴。
    2016-09-09
  • Android实现自动变换大小的ViewPager

    Android实现自动变换大小的ViewPager

    ViewPager使用适配器类将数据和view的处理分离,ViewPager的适配器叫PagerAdapter,这是一个抽象类,不能实例化,所以它有两个子类:FragmentPagerAdapter 和 FragmentStatePagerAdapter,这两个都是处理页面为Fragment的情况
    2022-11-11

最新评论