Android 控制闪光灯
首先闪光灯可以用android.hardware.camera来控制。
1.添加权限
<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.CAMERA"/> <uses-feature android:name="android.hardware.camera" />
2.获得Camera对象,通过Camera.open()开启摄像头。
Camera camera = Camera.open();
3.打开闪光灯
public static void turnLightOn(Camera mCamera) {
if (mCamera == null) {
3 return;
}
Parameters parameters = mCamera.getParameters();
6 if (parameters == null) {
7 return;
8 }
List<String> flashModes = parameters.getSupportedFlashModes();
// Check if camera flash exists
if (flashModes == null) {
// Use the screen as a flashlight (next best thing)
return;
}
String flashMode = parameters.getFlashMode();
if (!Parameters.FLASH_MODE_TORCH.equals(flashMode)) {
// Turn on the flash
18 if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) {
19 parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(parameters);
} else {
}
}
24 }
4.关闭闪光灯
public static void turnLightOff(Camera mCamera) {
if (mCamera == null) {
return;
4 }
5 Parameters parameters = mCamera.getParameters();
6 if (parameters == null) {
7 return;
8 }
9 List<String> flashModes = parameters.getSupportedFlashModes();
10 String flashMode = parameters.getFlashMode();
11 // Check if camera flash exists
12 if (flashModes == null) {
13 return;
14 }
15 if (!Parameters.FLASH_MODE_OFF.equals(flashMode)) {
16 // Turn off the flash
17 if (flashModes.contains(Parameters.FLASH_MODE_OFF)) {
18 parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
19 mCamera.setParameters(parameters);
20 } else {
Log.e(TAG, "FLASH_MODE_OFF not supported");
}
}
}
5.关闭闪光灯后记得释放Camear对象
camera.release();
源代码:Flashlight.7z
Android 控制闪光灯的更多相关文章
- [Windows Phone] 在 Windows Phone 8 控制闪光灯
原文:[Windows Phone] 在 Windows Phone 8 控制闪光灯 ? 前言 在 Windows Phone 如果想要控制闪光灯,该怎麽做?在 Windows Phone 8 提供类 ...
- android 控制POS机图文打印(二)
上一篇文章结束了ESC/POS的指令集,没看过的可以去看一下,可以当作工具文档来使用的 android 控制POS机图文打印(一) 这一篇正式介绍如何使用POS机来打印图文信息. 首先介绍一下,ESC ...
- Android实例-闪光灯的控制(XE8+小米2)
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...
- Android 打开闪光灯(手电筒)
package com.example.openBackLight; import android.app.Activity; import android.hardware.Camera; impo ...
- Android——控制UI界面
一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schem ...
- delphi xe5 android 控制蓝牙
本文部分内容摘自: http://www.pclviewer.com/android/用以下代码中的接口实现控制蓝牙的开.关及详细信息 unit Androidapi.JNI.BluetoothAda ...
- xe5 android 控制蓝牙[转]
用以下代码中的接口实现控制蓝牙的开.关及详细信息 unit Androidapi.JNI.BluetoothAdapter; // (c) RedTitan Technology 2013// JNI ...
- Visual Studio跨平台开发(4):Xamarin Android控制项介绍
前言 不同于iOS, Xamarin 在Visual Studio中针对Android, 可以直接设计使用者界面. 在本篇教学文章中, 笔者会针对Android的专案目录结构以及基本控制项进行介绍, ...
- Android 控制硬加速 hardwareAccelerated
从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作. 启用硬加速最简单的 ...
随机推荐
- mysql分页查询语句怎么写?
ref: http://www.dashen100.com/question/500 是用limit函数 取前5条数据 select * from table_name limit 0,5 或者 se ...
- Mac或者linux下登陆到linux上的SFTP
登陆 sftp -i 密钥路径 用户@ip ➜ ~ sftp -i Desktop/aliyun.pem root@39.106.30.1 Connected to 39.106.30.1 上 ...
- Js参数值中含有单引号或双引号解决办法
<script type="text/javascript"> function Display(LoginEmail, UserName, ID) { ...
- linux下命令行打开文件管理器
nautilus,这个太有用了,应为可以在secureCRT中使用,因为可以添加sudo来调用
- 内存管理 初始化(四)mem_init bootmem 迁移至伙伴系统
mm_init中执行mem_init,将原通过bootmem分配器管理的低端内存 及 通过meminfo得知的高端内存释放到伙伴系统中,最后bootmem位图本身占用的低端内存物理页也被释放进伙伴系 ...
- PGsql 基本用户权限操作
Ⅰ. 安装与初始账户密码修改 1. 安装 sudo apt-get install postgresql-9.4 2. 管理员身份打开pg sudo -u postgres psql sudo -u ...
- 从debian9、ubuntu18.04的deb包依赖来看,似乎不是那么好!!
i386体系的依赖.典型的libuuid1依赖问题,需要downgrade保持版本一致! amd64的rpm依赖低版本的perl-base,需要downgrade保持版本一致!
- tomcat设置debug模式
1.设置 编辑catalina.bat,在 rem Guess CATALINA_HOME if not definedset "CURRENT_DIR=%cd%"if not & ...
- Spring学习总结五——SpringIOC容器五
一:spring组件扫描 可以使用注解的方式,代替在xml配置文件配置bean,可以减少配置文件的书写,只需要在spring容器配置 文件中配置<context:component-scan b ...
- golang 内存分析/动态追踪
如果你的go程序是用http包启动的web服务器,你想查看自己的web服务器的状态.这个时候就可以选择net/http/pprof.你只需要引入包_"net/http/pprof" ...