[Android] 如何制作手电筒程序

原创 2012年01月15日 17:02:04

继iphone的手电筒开发完成后,接下来我便著手开始Android如何制作手电筒的程序

我的跨平台引擎框架CloudBox已建立好iphone版的程序,但却对于Android上如何操控闪光灯一无所知

因此我做了个小范例示范如何用Android来控制闪光灯

此代码在Samsung Galaxy S2测试可运作

public class CloudLed {
	boolean m_isOn;
	Camera m_Camera;
	
	public boolean getIsOn() { return m_isOn; }
	
	public CloudLed()
	{
		m_isOn = false;
	}
	
	public void turnOn()
	{
		if(!m_isOn)
		{
			m_isOn = true;
			try
			{
				m_Camera = Camera.open();
				Camera.Parameters mParameters;
				mParameters = m_Camera.getParameters();
				mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
				m_Camera.setParameters(mParameters);
			}catch(Exception ex){}
		}
	}
	
	public void turnOff()
	{
		if(m_isOn)
		{
			m_isOn = false;
			try
			{
				Camera.Parameters mParameters;
				mParameters = m_Camera.getParameters();
				mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
				m_Camera.setParameters(mParameters);
				m_Camera.release();
			}catch(Exception ex){}
		}
	}
}

我建立了一个CloudLed类,将Camera再做一次封装,只处理闪光灯相关部份的代码

在Android中,要开启摄像头只需透过Camera.Open就可以简单开启,开启后取得Camera.Parameters就可以设定参数

我们所需要的手电筒功能,只需要将其设为FLASH_MODE_TROCH即可

关闭时只要设置为FLASH_MODE_OFF后将其release就可以了

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.clouddevelop.ledtest"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".LEDTestActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-permission android:name="android.permission.CAMERA"></uses-permission>
</manifest>

在这边有个事项要注意,我们需在AndroidManifest.xml中设置存取摄像头的权限。

<uses-permission android:name="android.permission.CAMERA"></uses-permission>

完整范例下载


初学Android——闪光灯当做手电筒使用

http://blog.csdn.net/canghai1129/article/details/11643343    我本身是做功能机出身,MTK的方案,业内人士都知道,功能机没落了。最...
  • BAD__BOYlove
  • BAD__BOYlove
  • 2014年10月24日 15:00
  • 813

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

android手电筒原理很简单,就是打开相机的闪光灯。   核心的代码就这么多:     打开相机     设置闪光灯开     打开预览     设置相机的autoFocus     Camera ...
  • redstarofsleep
  • redstarofsleep
  • 2015年04月30日 09:31
  • 4476

如何制作Android手电筒程序

public class CloudLed {      boolean m_isOn;      Camera m_Camera;            public boolean getIsOn...
  • sergeycao
  • sergeycao
  • 2012年11月20日 09:26
  • 500

Android学习之手电筒程序(兼容6.0系统)二

package com.lzy.sale.salemanager.manager; import android.Manifest; import android.content.Context; ...
  • u012527802
  • u012527802
  • 2016年11月29日 07:49
  • 3056

android 实现手电筒功能

1.AndroidManifest.xml 中添加权限 2.程序控制 // 获得Camera对象,通过Camera.open()开启摄像头...
  • ak4100
  • ak4100
  • 2015年02月26日 14:47
  • 1376

android 6.0 手电筒app简单实现

我最近在写一个手电筒的app,需要兼容android 6.0但是网上很多都是很久以前的代码,android M的基本上没有什么资料,今天就和大家聊一聊,写的不好的地方大家多多指教,不多说直接上代码: ...
  • linsongming
  • linsongming
  • 2016年02月15日 17:20
  • 3419

Android之实现手电筒实例

主要实现两个步骤:        1、实现打开和关闭闪光灯;而实现操作闪光灯主要通过Camera类 Camera camera = Camera.open(); ...
  • x605940745
  • x605940745
  • 2013年12月26日 15:27
  • 11043

Android实现一个简单的手电筒

添加手机权限 布局 代码 import androi
  • sy755754582
  • sy755754582
  • 2016年12月28日 14:55
  • 1206

Android实战简易教程<五十七>(分享小米手电筒源码)

手电筒功能实现简单很实用,下面我们就来研究一下如何自制一款手电筒小程序,初学者可以通过实例了解原理,提高学习android技术的热情和动力。 首先我们了解一下手电筒要调用哪些android权限: ...
  • scholar_man
  • scholar_man
  • 2015年09月26日 11:17
  • 998

安卓手机通过代码打开手机的手电筒。

1.打开手电筒的代码: private boolean mIsLight = false; private Button btnOpenLight; private Button btnC...
  • cainiaobukeyi
  • cainiaobukeyi
  • 2017年03月31日 10:04
  • 2216
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android] 如何制作手电筒程序
举报原因:
原因补充:

(最多只允许输入30个字)