使用照相机开启闪光灯

package com.home.light;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.home.cameralight.R;

public class TestActivity extends Activity implements OnClickListener {
	Camera camera;
	Parameters params;
	private Button onBtn;
	private Button offBtn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		camera = Camera.open();
		params = camera.getParameters();
		findView();
	}

	private void findView() {
		onBtn = (Button) findViewById(R.id.main_btn_on);
		onBtn.setOnClickListener(this);
		offBtn = (Button) findViewById(R.id.main_btn_off);
		offBtn.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		if (v == onBtn) {
//			open1();
			open2();
		} else if (v == offBtn) {
//			off1();
			off2();
		}
	}

	private void open1() {
		if (camera == null) {
			camera = Camera.open();
			params = camera.getParameters();
		}
		params.setFlashMode(Parameters.FLASH_MODE_TORCH);
		camera.setParameters(params);
	}

	private void off1() {
		if (camera == null) {
			return;
		}
		params.setFlashMode(Parameters.FLASH_MODE_OFF);
		camera.setParameters(params);
		camera.release();
		camera = null;
	}

	private void open2() {
		if (camera == null) {
			camera = Camera.open();
			params = camera.getParameters();
		}

		params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
		camera.setParameters(params);
		camera.autoFocus(new Camera.AutoFocusCallback() {
			public void onAutoFocus(boolean success, Camera camera) {
			}
		});
		camera.startPreview();
	}

	private void off2() {
		if (camera == null) {
			return;
		}
		camera.stopPreview();
		camera.release();
		camera = null;
	}

}

权限:

    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.autofocus"/>
时间: 2024-12-30 03:50:35

使用照相机开启闪光灯的相关文章

一起学android之如何以最简单方式开启闪光灯(35)

我们以360手机助手中有一款叫"最美手电筒",效果图: 通过图中手电筒的开关来开启或关闭闪光灯,OK,以下是实现此功能的代码: public class MainActivity extends Activity implements OnClickListener { private ImageView iv_off_on; private ImageView iv_light; private Parameters parameter = null; private Camera

Android 学习笔记之二——开启闪光灯

今天想写个手电筒应用,看网上的代码基本都是如下: camera = Camera.open(); parameters = camera.getParameters(); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); camera.setParameters(parameters); camera.startPreview(); 在我的nexus 5里面怎么也打不开闪光灯,查了好久,加了一条这个在startPreview

Android开发之打开闪光灯录制视频

Android的SDK在线API上对录制视频的方法.步骤都写得非常清楚,但是如果没有一点思路,写起来也比较式费事.录制视频的全过程要打开闪光灯(可能是因为项目需要,或者特殊原因),则必须按照一定的顺序进行开关,毕竟容易出错.要实现录制的同时开启闪光灯也不难,官方API给出了一个大体的步骤.因为要采集点视频数据,临时写了个简单的Demo学习下,必要时再深度开发. 首先在工程中的AndroidManifest.xml中添加权限声明,因为要使用到摄像头,故需要添加Camera的相关权限,另外还需要写S

Android Zxing 添加闪光灯功能

最近做了关于二维码解析的模块 选用的是google的开源工程Zxing 在Zxing 添加闪光灯功能 如下: 在 com.xxx.xxx.Zxing.camera 包下的CameraManager类中 添加代码: //openLight 是开启闪光灯 //offLight  是关闭闪光灯 public void openLight(){ if (camera != null) { parameter = camera.getParameters(); parameter.setFlashMode

解决闪光灯代码在Nexus5上面打不开的问题

参考:http://blog.csdn.net/cy524563/article/details/41545387 关键在于: int textureId = 0;whyCamera.setPreviewTexture(new SurfaceTexture(textureId));//关键代码:解决在Nexus5上面打不开闪光灯的问题 之前在网上找到的关键代码均不含有以上两行代码,所以导致在Nexus5手机上面打不开闪光灯. 详细代码如下:自定义了一个类,用于执行闪关灯的打开.关闭.销毁等功能.

Android 6.0 闪光灯的使用

Android6.0 已经抛弃了Camer 相关的API,改用新的API接口CamerManager,下面给出使用的简单实例 package com.inper.duqiang.slashlight; import android.app.Activity; import android.content.Context; import android.hardware.Camera; import android.hardware.camera2.CameraAccessException; i

Android发展简单介绍

Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件.眼下最好的是Android2.0的摩托罗拉Droid Android公司介绍 国家:美国 业务:手机软件,操作系统 成立于:2003年 创办人:Andy Rubin,Andy McFadden.Richard Miner Chris White 中文名:安卓 眼下

Android发展简介

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件.目前最好的是Android2.0的摩托罗拉Droid Android公司介绍 国家:美国 业务:手机软件,操作系统 成立于:2003年 创办人:Andy Rubin,Andy McFadden.Richard Miner Chris White 中文名:安卓 目前最好

准备篇—刘备,从编草鞋到编代码 第1回 哦,何为Android?

这是一个阳光明媚的下午,刘备刘玄德坐在家中一边哼着小曲一边编着草鞋.就在草鞋编得兴高采烈.飘飘欲仙之时,他忽然对人生产生了一丝疑惑,我乃堂堂中山靖王之后,想当年我祖上技术何等辉煌!传说我祖刘胜同学审代码一目十行,再小的臭虫也难逃其法眼,写代码更好似行云流水,一日之内,写满代码的竹简摞起来竟有小山般高.唉!再看看我,竟天天以编草鞋度日--不行!再也不能自甘堕落下去,我要写代码!于是刘备扔下编了半辈子的草鞋,毅然决然地走上了技术开发之路. 刘备走到村里,左思右想,不知从何做起,只好原地转圈圈.踌躇之