Android开启闪光灯的方法 Android打开手电筒功能
时间:2019-03-30
本文章向大家介绍Android开启闪光灯的方法 Android打开手电筒功能,主要包括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以下暂未测试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- hashCode与equals的区别
- 关于null的操作
- Oracle运算符收录(易忘记,但是又很重要的运算符)
- Case When ELSE END语句
- oracle 表空间tablespace
- Oracle Schema
- Oracle 索引
- Oracle dbms_random随机函数包
- volatile和Synchronized区别
- Oracle 快速插入1000万条数据的实现方式
- HashMap实现原理分析
- Oracle TM锁和TX锁
- Oracle给Select结果集加锁,Skip Locked(跳过加锁行获得可以加锁的结果集)
- select for update和select for update wait和select for update nowait的区别
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释