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

发布时间 - 2026-01-11 02:31:06    点击率:

前言

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

代码

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

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

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


# Android  # 闪光灯  # 手电筒  # Android 7.0 手电筒控制实现  # android通过led实现手电筒功能  # Android实现简单手电筒功能  # Android实现手电筒电源键关闭功能  # Android studio编写简单的手电筒APP  # Android Camera开发手电筒功能  # Android中编写简单的手电筒小应用的实例教程  # Android 通用型手电筒代码  # Android 开启闪光灯做手电筒的详解  # Android手电筒兼容各个手机与版本  # 在这里  # 写了  # 无非是  # 众所周知  # 暂未  # 大家多多  # 小工具  # 必须要  # Camera 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel用户密码怎么加密_Laravel Hash门面使用教程  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  php json中文编码为null的解决办法  如何在香港免费服务器上快速搭建网站?  如何在阿里云部署织梦网站?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  网易LOFTER官网链接 老福特网页版登录地址  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何在阿里云通过域名搭建网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何用搬瓦工VPS快速搭建个人网站?  深圳网站制作培训,深圳哪些招聘网站比较好?  EditPlus中的正则表达式实战(5)  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何挑选优质建站一级代理提升网站排名?  手机网站制作与建设方案,手机网站如何建设?  Laravel如何实现API版本控制_Laravel版本化API设计方案  制作企业网站建设方案,怎样建设一个公司网站?  Laravel如何使用withoutEvents方法临时禁用模型事件  微信小程序 scroll-view组件实现列表页实例代码  jQuery 常见小例汇总  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  浅谈Javascript中的Label语句  Laravel如何使用模型观察者?(Observer代码示例)  如何做网站制作流程,*游戏网站怎么搭建?  Python文件异常处理策略_健壮性说明【指导】  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel PHP版本要求一览_Laravel各版本环境要求对照  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何确认建站备案号应放置的具体位置?  微信小程序 wx.uploadFile无法上传解决办法  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  bing浏览器学术搜索入口_bing学术文献检索地址  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel如何处理异常和错误?(Handler示例)