android手电筒原理

一、原理简介

现在android应用商店有许多的手电筒应用。其核心原理很简单,其实就是使用android中的摄像头类Camera控制控制闪光灯的亮灭。好了,接下来,一步步讲解下,android如何控制闪光灯。

二、添加权限

在使用android的camera时候,首先要在AndroidManifest.xml文件中添加android对camera的控制权限。

 <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"/>

这个几个权限是干什么用的呢,具体说明,可以参照我的这篇博客。

http://blog.csdn.net/stoppig/article/details/20458865

三、控制代码

添加完之后,就是编写对闪光灯控制的代码啦。

1、打开摄像头,并开启闪光灯

在使用闪光灯之前,注意先使用Camera.open()方法打开摄像头,获取到camera对象。然后通过camera对象的getParameters()方法获取到Parameters参数。以下是示例代码

camera = Camera.open();
					parameters = camera.getParameters();
					parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 开启
					camera.setParameters(parameters);

2、关闭闪光灯,关闭摄像头

在关闭闪光灯的时候,也是通过Parameters参数进行设置的,先将Parameters的FlashMode变量设置成Parameters.FLASH_MODE_OFF,然后关闭摄像头。以下是示例代码

parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 关闭
					light.setImageResource(R.drawable.light_off);
					camera.setParameters(parameters);
					camera.release();

这个就是一个简单的android手电筒代码说明。

源码下载地址:http://download.csdn.net/detail/stop_pig/8102453

时间: 2024-10-25 17:42:51

android手电筒原理的相关文章

自己编写Android手电筒,支持5.0

android手电筒原理很简单,就是打开相机的闪光灯. 核心的代码就这么多: 打开相机 设置闪光灯开 打开预览 设置相机的autoFocus     Camera camera = Camera.open();     Parameters mParameters = camera.getParameters();     mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);     camera.setParameters(

Android 手电筒源代码

近期因为公司须要,做了一个手电筒,事实上手电筒原理非常easy,就是调用照相机的闪光灯,控制闪光灯的开关,就能够实现手电筒的效果, 强调一下,代码中一定要注意在结束的时候对闪光灯进行释放,否则就会导致使用照相机的时候出现--无法连接到相机 这个问题 手电筒APK下载地址:点击打开下载链接 手电筒项目源代码下载:点击打开下载链接 主要代码例如以下: package com.techainsh.flashlight; import java.util.List; import android.har

Android 手电筒源码

最近由于公司需要,做了一个手电筒,其实手电筒原理很简单,就是调用照相机的闪光灯,控制闪光灯的开关,就可以实现手电筒的效果, 强调一下,代码中一定要注意在结束的时候对闪光灯进行释放,否则就会导致使用照相机的时候出现--无法连接到相机 这个问题 手电筒APK下载地址:点击打开下载链接 手电筒项目源码下载:点击打开下载链接 主要代码如下: package com.techainsh.flashlight; import java.util.List; import android.hardware.C

(转载)Android显示原理简介

Android应用程序显示的过程:Android应用程序调用SurfaceFlinger服务把经过测量.布局和绘制后的Surface渲染到显示屏幕上. 名词解释 SurfaceFlinger:Android系统服务,负责管理Android系统的帧缓冲区,即显示屏幕. Surface:Android应用的每个窗口对应一个画布(Canvas),即Surface,可以理解为Android应用程序的一个窗口. Android应用程序的显示过程包含了两个部分(应用侧绘制.系统侧渲染).两个机制(进程间通讯

android 手电筒的实现

android手机用闪光灯做成手电筒的应用非常多,可是有的不能用. 后来发现是除了把 camera device的 flashmode设置成torch外还要打开预览: 以下是代码: MainActivity.java package com.android.flashlight; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.widget

介绍使用Android JSBridge原理与实现

JSBridge 在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异.大多数人都知道WebView存在一个漏洞,见WebView中接口隐患与手机挂马利用,虽然该漏洞已经在Android 4.2上修复了,即使用@JavascriptInterface代替addJavascriptInterface,但是由于兼容性和安全性问题,基本上我们不会再利用Android系统为我们提供的addJavascriptInterface方法或者@JavascriptInterfa

Android LayoutInflater原理分析关于LayoutInflater

Android LayoutInflater原理分析 http://blog.csdn.net/guolin_blog/article/details/12921889

深度理解Android InstantRun原理以及源码分析

深度理解Android InstantRun原理以及源码分析 @Author 莫川 Instant Run官方介绍 简单介绍一下Instant Run,它是Android Studio2.0以后新增的一个运行机制,能够显著减少你第二次及以后的构建和部署时间.简单通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很快的让你看到你修改的效果.而在没有Instant Run之前,你的一个小小的修改,都肯能需要几十秒甚至更长的等待才能看到修改后的效果. 传统的代

flutter android端 原理解析

首先看MainActivity, 继承FlutterActivity 再看FlutterActivity代码,继承Activity,实现Provider.PluginRegistry.ViewFactory 12345678910111213141516 private final FlutterActivityDelegate delegate = new FlutterActivityDelegate(this, this);private final FlutterActivityEven