根据Android6.0新特性,在最新的API下,使用闪光灯,不再需要打开Camera,setTorchMode()的方式打开闪光灯。
Flashlight API
If a camera device has a flash unit, you can call the setTorchMode() method to switch the flash unit’s torch mode on or off without opening the camera device. The app does not have exclusive ownership of the flash unit or the camera device. The torch mode is turned off and becomes unavailable whenever the camera device becomes unavailable, or when other camera resources keeping the torch on become unavailable. Other apps can also call setTorchMode() to turn off the torch mode. When the last app that turned on the torch mode is closed, the torch mode is turned off.
You can register a callback to be notified about torch mode status by calling the registerTorchCallback() method. The first time the callback is registered, it is immediately called with the torch mode status of all currently known camera devices with a flash unit. If the torch mode is turned on or off successfully, the onTorchModeChanged() method is invoked.

以下的代码展示了如何在Android6.0下打开闪光灯。

import android.app.Activity;
import android.content.Context;
import android.hardware.Camera;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ToggleButton;public class MainActivity extends Activity {private CameraManager manager;//通过CameraManager控制闪光灯private Camera camera = null;private Camera.Parameters parameters = null;public static boolean kaiguan = true; // 定义开关状态,状态为false,打开状态,状态为true,关闭状态@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);super.onCreate(savedInstanceState);manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);//获得camera_service服务try {String [] camerList = manager.getCameraIdList();for (String str:camerList) {Log.d("List",str);}} catch (CameraAccessException e) {Log.e("error",e.getMessage());}Button open_btn = (Button) findViewById(R.id.open_btn);open_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {                try {manager.setTorchMode("0", true);//设置闪光灯模式} catch (CameraAccessException e) {e.printStackTrace();}}            });Button close_btn = (Button) findViewById(R.id.close_btn);close_btn.setOnClickListener(closeOnClickListener);ToggleButton toggle_btn = (ToggleButton) findViewById(R.id.toggle_btn);toggle_btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {try {manager.setTorchMode("1", isChecked);} catch (CameraAccessException e) {e.printStackTrace();}}});}private View.OnClickListener closeOnClickListener = new View.OnClickListener() {@Overridepublic void onClick(View v) {            try {manager.setTorchMode("0", false);} catch (CameraAccessException e) {e.printStackTrace();}            }};
}

Android Camera Flashlight控制相关推荐

  1. android camera 闪光灯关闭,Android控制闪光灯的方法(打开与关闭)

    本文实例讲述了Android控制闪光灯的方法.分享给大家供大家参考,具体如下: 最近想做一个手电筒,在网上搜到一点资料 首先闪光灯可以用android.hardware.camera来控制 1. 在M ...

  2. android l camera no panorama,Android Camera从App层到framework层到HAL层的初始化过程

    Android camera 从上到下能够分为四个部分: Application层. framework层. HAL(hardware abstract layer)层. Kernel层 通常面向开发 ...

  3. Android Camera 通过V4L2与kernel driver的完整交互过程

    Android Camera 通过V4L2与kernel driver的完整交互过程 之前在  Android Camera 的执行流程   http://blog.chinaunix.net/uid ...

  4. 【Android RTMP】Android Camera 视频数据采集预览 ( 图像传感器方向设置 | Camera 使用流程 | 动态权限申请 )

    文章目录 安卓直播推流专栏博客总结 一. Camera 传感器方向简介 二. Camera 图像传感器横向显示数据 三. Camera 图像传感器纵向显示数据 四. 设置 Camera 预览数据方向 ...

  5. 【Android RTMP】Android Camera 视频数据采集预览 ( 视频采集相关概念 | 摄像头预览参数设置 | 摄像头预览数据回调接口 )

    文章目录 安卓直播推流专栏博客总结 一. Android 端数据采集涉及到的相关概念 二. Camera 预览图像尺寸设置 三. 获取摄像头采集的数据格式 安卓直播推流专栏博客总结 Android R ...

  6. android camera(三):camera V4L2 FIMC

    关键词: android  camera CMM 模组 camera参数  CAMIF   V4L2   平台信息: 内核: linux 系统: android 平台:S5PV310(samsung ...

  7. android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)

    关键词: android  camera CMM 模组 camera参数  CAMIF 平台信息: 内核: linux 系统: android 平台:S5PV310(samsung exynos 42 ...

  8. Android camera(4)---Android Camera开发之基础知识篇

    Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...

  9. android camera (2) ---高通平台camera开发

    1. 设置摄像头方向 2. 打开线程与预览线程 3. 设置参数 4. Camera外设按键 5. 自动对焦与触摸对焦 6. 拍照 7. 人脸检测 8. 位置管理 9. 旋转管理 10. 变焦 11. ...

最新文章

  1. 遥感图像+CNN,预测区域人口收入水平
  2. NetFramework各个版本的特性笔记
  3. 2018 支付宝Java开发四面:Ngnix+MQ队列+集群+并发抢购
  4. RiPro子主题V8.0 – V8.1,开心版
  5. html设置边框dw,Dreamweaver表格边框设置的css语法大全
  6. mysql 5.7.14-winx64_mysql-5.7.14-winx64 解压版本安装
  7. 【6】测试用例设计-输入域+输出域+异常分析+错误出错法
  8. api-ms-win-crt-runtimel1-1-0.dll缺失的终极解决方案
  9. 装饰器python详解_python装饰器详解
  10. Unity 插件之 Highlighting 高亮插件
  11. 开发工具篇 程序员计算器
  12. PDA用ActiveSync同步上网 方法
  13. Tomcat设置登录账号密码
  14. 算法警告!该图片涉嫌违规不予显示
  15. tikz 折线 箭头_LaTeX技巧862:用 TikZ 实现带箭头的注释效果
  16. Ue4 TEXTURE STREAMING POOL OVER ****MiB BUDGET 问题解决
  17. iphone开发每日一练【2011-10-07】
  18. 《Hyperledger Fabric官方文档》区块链的网络
  19. java8新特性获取(当月,上月,下月)(第一天,最后一天)
  20. 求知讲堂Java视频-基础整理-数据类型

热门文章

  1. TEE GP(Global Platform)功能认证产品
  2. HBase JAVA API(大章鱼版)
  3. 深夜脑洞,写了一个可以推算火车票身份证号码的小程序
  4. Html中input标签的详解
  5. 我的第一次及心情分享--不间断更新
  6. 问题 G: 深入浅出学算法007-求佩尔方程的解
  7. html内容被背景图片遮住怎么办_css背景图片显示不完怎么解决?
  8. 可以被2、3、4、5、6、8、9、10整除的数
  9. 【趋势一次一单EA】 持续稳健 平均月收益25%~45%左右,最大浮亏10%左右
  10. debain 自定义快捷键(Ctrl + Alt + T :打开终端)