[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 下led 的控制(上)--Android部分

首先说一下我的开发环境,硬件环境开发板使用的是全志的CQA83T板子,Android开发是windows下的eclipse。关于Android下控制led,主要有两大部分,一是Android程序,二是...

Android第一个小程序(手电筒)

程序的目录结构: MainActivity代码; package com.mth.flashlight; import android.os.Bundle; import android...

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

package com.lzy.sale.salemanager.manager; import android.Manifest; import android.content.Context; ...

Android程序开发源代码:手电筒

  • 2014年08月30日 22:22
  • 1.85MB
  • 下载

Android手电筒程序

  • 2016年06月17日 11:19
  • 1.1MB
  • 下载

Android小项目实践之制作手电筒

简单手电筒的制作

简单的手电筒程序(基于Camera类实现)

控制手机闪关灯按照思路大概有下面三种方法 1.  使用camera类控制闪光灯方法setFlashMode 进行操作 2.  通过JNI控制现有驱动节点(使用与三星手机,其他手机不确认) 3.  重新...

简单的手电筒程序(基于系统驱动节点)

上一篇文章 简单的手电筒程序(基于Camera类实现) 介绍了通过Camera类进行Flash操作,但是通过camera接口可能会有下面两个问题: 1. 因为是间接使用camera接口,所以时间上会有...

Android手电筒兼容各个手机与版本

在写手电筒APP之前,当然已经参考market上的很多手电筒APP,还有网上如何实现手电筒功能的各种源码。不管是源码还是market上的APP,总结了几点的问题。 1.我下载market上的所有手电...

开启android设备的闪光灯作为手电筒

手电筒是使用Android手机的闪光灯,所以需添加权限 我测试的手机是三星I9300,正常,界面没有美化就有一个按钮,代码如下: package com.jwzhangjie; import c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android] 如何制作手电筒程序
举报原因:
原因补充:

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