Android开启闪光灯的方法 Android打开手电筒功能
时间:2022-07-27
本文章向大家介绍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以下暂未测试。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 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 文档注释
- Android 中使用RecyclerView实现底部翻页
- Android中Glide库的使用小技巧总结
- Android Studio手动配置Gradle的方法
- Android仿微信@好友功能 输入@跳转、删除整块
- Android开发实现广告无限循环功能示例
- Android仿微信底部菜单栏效果
- MySQL 案例:Update 死锁详解
- Android 线程之自定义带消息循环Looper的实例
- 详解Androidstudio3.0 关于Gradle报错的问题(小结)
- Android开发实现文件关联方法介绍
- Android开发获取重力加速度和磁场强度的方法
- Android自定义View圆形和拖动圆跟随手指拖动
- 简单好用的Adapter—ArrayAdapter详解
- Android开发之图片切割工具类定义与用法示例
- Android开发之超强图片工具类BitmapUtil完整实例